制作login.jsp页面,要求实现提供用户登陆的界面, 用户通过该界面输入用户名(控件名userName)和密码(控件名password), 然后点击“登录”按钮实现登陆操作.

例题:
1.制作login.jsp页面,要求实现提供用户登陆的界面,

用户通过该界面输入用户名(控件名userName)和密码(控件名password),

然后点击“登录”按钮实现登陆操作.

2.制作welcome.jsp页面,要求在该页面中显示合法用户成功登陆的提示信息,

信息格式如下:“用户,密码为,欢迎您于*时间访问本页面。”

3.设计并实现LoginServlet类,通过该类获取login.jsp中提交的登陆信息。

合法用户登陆时要求获取用户登陆的时间,并通过RequestDispatcher对象将成功登陆的提示信息转发到welcome.jsp页面,

非法用户登陆时重定向到login.jsp页面,让用户重新登录。

4.合法用户只有一名,用户名为“TOM”,密码为“123456”。


这里我用到的开发工具是Intellij idea 2017.3创建项目如图
这里写图片描述

创建login.jsp

<%--
  Created by IntelliJ IDEA.
  User: SugarMan
  Date: 2017/12/18
  Time: 上午10:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
<html>
<head>
    <title>登录</title>
</head>
<body>
    ${requestScope.info}
    <form action="first"  method="post">
        姓名:<input type="text" name="userName"><br>

        密码:<input type="password" name="password"><br>

        <input type="submit" value="登录">

    </form>
</body>
</html>

first.java代码

package Servlet;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;

public class first extends HttpServlet {
    protected void doPost(HttpServletRequest request, 
ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("userName");
        String password = 
        request.getParameter("password");
        String info = "";

        request.setAttribute("userName",name);
        request.setAttribute("password",password);


        if (name.equals("TOM") && password.equals("123456")) {
            info = name + "用户,密码为:" + password + 
            ",欢迎您于" + new Date() + "时间访问本页面";
            request.setAttribute("info",info);
            //此方法重新定向的地址为web.xml里servlet的地址
            request.getRequestDispatcher("welcome.jsp");
            dispatcher.forward(request,response);
        } else  {
            info = "用户密码输入错误";
            request.setAttribute("info",info);//向req保存info信息
            RequestDispatcher dispatcher = 
            request.getRequestDispatcher("login.jsp");
            dispatcher.forward(request,response);//重定向转发

        }
    }


}

PS:这里为什么我没有用LoginServlet来命名呢,因为我试过用这个名称命名,却发现在form表单里找不到它,重启服务器,清除idea缓存都不行,无奈只好用其他名称命名了,如果有小伙伴解决了这个问题可以告诉我哦!

welcome.jsp代码

<%--
  Created by IntelliJ IDEA.
  User: SugarMan
  Date: 2017/12/18
  Time: 上午10:42
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
<html>
<head>
    <title>欢迎</title>
</head>
<body>
    ${requestScope.info}
</body>
</html>

PS:这个EL表达式真心方便

  • 9
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是使用Spring框架实现此功能的具体步骤: 1. 首先在Spring框架中配置视图解析器,使得Spring框架能够正确渲染JSP页面。可以在Spring的配置文件(一般为applicationContext.xml)中添加如下配置: ``` <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> ``` 其中,`prefix`属性指定JSP页面所在的路径,`suffix`属性指定JSP页面的后缀。 2. 在Exam网站下新建一个为`login.jsp`的页面,在页面中放入如下控件: ``` <form method="post" action="/login"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <button type="submit">登录</button> </form> ``` 其中,`form`标签中的`method`属性指定了表单提交的方式为POST,`action`属性指定了表单提交的地址为`/login`。 3. 在Spring框架中配置处理器映射器和处理器适配器,使得Spring框架能够正确处理表单提交请求。可以在Spring的配置文件中添加如下配置: ``` <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" /> ``` 4. 在Spring框架中编写控制器,处理表单提交请求。可以编写一个类,添加`@Controller`注解,然后在类中添加一个方法,添加`@RequestMapping`注解,并指定该方法处理的请求地址为`/login`。在该方法中,可以获取表单提交的用户名密码,进行判断。如果用户名密码均为`admin`,则返回一个字符串`success`,否则返回一个字符串`fail`。可以使用Spring的`@ResponseBody`注解,将返回的字符串转换为JSON格式,返回给前端页面。具体代码如下: ``` @Controller public class LoginController { @RequestMapping(value = "/login", method = RequestMethod.POST) @ResponseBody public String login(@RequestParam("username") String username, @RequestParam("password") String password) { if ("admin".equals(username) && "admin".equals(password)) { return "{\"status\": \"success\"}"; } else { return "{\"status\": \"fail\"}"; } } } ``` 在该代码中,`@RequestParam`注解用于获取表单提交的参数,`@ResponseBody`注解用于将返回值转换为JSON格式。 5. 在`login.jsp`页面中,使用jQuery的`$.ajax`方法,向`/login`地址发送表单提交请求,并处理服务器返回的JSON格式数据。具体代码如下: ``` <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(function() { $('form').submit(function(event) { event.preventDefault(); $.ajax({ type: 'POST', url: '/login', data: $(this).serialize(), success: function(data) { if (data.status === 'success') { alert('登录成功'); } else { alert('登录失败'); } }, error: function() { alert('请求失败'); } }); }); }); </script> ``` 在该代码中,`$('form').submit`方法用于监听表单的提交事件,`event.preventDefault()`方法用于阻止表单的默认提交行为。`$.ajax`方法用于向服务器发送表单提交请求,`success`回调函数和`error`回调函数用于处理服务器返回的数据。如果返回的数据中`status`属性为`success`,则弹出`登录成功`的提示框,否则弹出`登录失败`的提示框。 以上就是使用Spring框架实现在Exam网站下新建一个为`login.jsp`的页面,并实现输入用户名admin 密码admin后,显示弹出窗“登陆成功”,否则显示“登录失败”的具体步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值