Servlet實現簡單的使用者登入
阿新 • • 發佈:2019-02-01
login.jsp
loginServlet.java<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登入頁面</title> </head> <body> <form action="loginServlet" method="post"><!-- action寫要請求Servlet的名 --> 使用者名稱:<input type="text" id="uname" name="uname"><br><br> 密碼:<input type="password" id="pwd" name="pwd"><br><br> <input type="submit" value="登入"> <input type="reset" value="重置"> </form> </body> </html>
success.jsppackage com.java; 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; import javax.servlet.http.HttpSession; /** * Servlet implementation class loginServlet */ @WebServlet("/loginServlet") 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 { HttpSession session = request.getSession();//獲取session Object name = session.getAttribute("name");//從session中獲取使用者名稱 Object pwd = session.getAttribute("pwd");//從session獲取使用者密碼 System.out.println(name+":"+pwd); //測試一下,輸出獲取的使用者名稱和密碼 session.invalidate(); //登出session response.sendRedirect("login.jsp"); //跳轉到login.jsp頁面 } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // doGet(request, response); // 設定編碼為utf-8 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); // 獲取使用者名稱和密碼 String name = request.getParameter("uname"); String pwd = request.getParameter("pwd"); // 校驗使用者名稱和密碼是否正確 if ("admin".equals(name) && "123".equals(pwd)) {// 驗證成功 HttpSession session = request.getSession();//獲取session session.setAttribute("name", name);// 將使用者名稱和密碼儲存在session中 session.setAttribute("pwd", pwd);// 將使用者名稱和密碼儲存在session中 response.sendRedirect("success.jsp");// 跳轉到success.jsp頁面 } else {// 校驗不成功,則留在跳轉到login.jsp頁面 response.sendRedirect("login.jsp"); } } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登入成功頁面</title> </head> <body> 登入成功!${name},${pwd}<form action="loginServlet" method="get"><input type="submit" value="登出登入"></form> </body> </html>