写在前面:实现一个简单的用户登录验证程序,用户命为abc,用户密码为123,登录成功则显示欢迎用户的信息,登录失败则显示”用户名或密码不正确“

案例流程

JSP实现用户的登录和验证的显示界面,提交过程以及验证的实际验证过程由servlet完成。这些组件通过JSP的内置对象request(或HttpServletRequest创建的对象)实现数据的共享。数据从提交页面将数据传递给servlet,servlet获取数据并实现验证,根据验证结果转向显示验证结果的页面。

设计模块(3个组件)

1. 登录表单页面:login.jsp;

2. 处理登录请求并实现验证的servlet:LoginCheckServlet.java,采用注释的方式配置servlet;

3. 显示提示页面:info.jsp;

实现数据共享参数为:username(用户名称)、userpwd(密码);

功能实现

### 登录页面代码:

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page  pageEncoding="UTF-8"%>
<html>
<head><title>登录页面</title></head>
<body>
<form action="loginCheck" method="post">
请输入用户名:<input type="text" name="username"/><br/>
请输入密码:<input type="password" name="userpwd"/><br/>
<input type="submit" value="登录"/>
<input type="reset"/>
</form>
</body>
</html>
### 处理登录的servlet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/loginCheck")
public class LoginCheckServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userName=request.getParameter("username");
String userPwd=request.getParameter("userpwd");
String info="";
if(("abc".equals(userName))&&"123".equals(userPwd)){
info="欢迎你"+userName+"!";
}else{
info="用户名或密码不正确!";
}
request.setAttribute("outputMessage", info);
request.getRequestDispatcher("/info.jsp").forward(request,response);
}
}
### 显示结果页面:
1
2
3
4
5
6
<%@ page  pageEncoding="UTF-8"%>
<html>
<head><title>显示结果页面</title></head>
<body> <%=request.getAttribute("outputMessage") %> </body>
</html>