javaweb:jsp+servlet登录(请求转发RequestDispatcher+setAttribute请求对象存储数据
来源:我的学习笔记


登录JSP代码自己写就行了

代码:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LoginServlet
*/
@WebServlet(name = "LoginServlet", urlPatterns = { "/user-login" }) /* 要和JSP文件表单中的action路径保持一致 */
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username = request.getParameter("username");/* 用来接受来自JSP文件中的表单数据 */
String password=request.getParameter("password");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html><body>");
if (username.equals("123456") && password.equals("123456")) {/* 设置用户名,密码都为123456 */
request.setAttribute("username", username);//指定名字name的对象obj作为属性值储存到请求对象中
RequestDispatcher rd=request.getRequestDispatcher("/welcome.jsp");
rd.forward(request, response);
}else {
RequestDispatcher rd=request.getRequestDispatcher("/false.jsp");
rd.forward(request, response);
}
out.println("</body></html>");
}
}

代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>success</title>
</head>
<body>
<h1>登陆成功!欢迎您,${username}!</h1>
<!-- LoginServlet中的 request.setAttribute("username", username);
(“XXXX”,“YYYY”)将YYYY传到${XXXX}里面-->
</body>
</html>

代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>false</title>
</head>
<body>
<h1>用户名或密码有误,请进行检查</h1>
<form action="login.jsp" method="post">
<input type="submit" value="返回">
</form>
</body>
</html>




