導入包lib(文件名稱)
目錄結構:web下:views、web-inf、index.jsp
views下各種jsp文件和js(里面放封裝好的jquery包)
js下:jquery包(js文件后綴)
web-inf目錄下:classes(編譯輸出路徑)、lib、 web.xml
首先編寫index.jsp文件
<form method="post" action="/touhou/isLogin"> <input type="text" required name="admin" ><br/><br/> <input type="password" required name="password" ><br/><br/> <span id="errorMessage"> ${error}</span><br/><br/> <input type="submit" value="LinkStart"> </form>
接着響應表單提交的servlet “isLogin”
package com.aaa.servlet; import com.aaa.dao.IUserDAO; import com.aaa.dao.impl.UserDAOImpl; 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 java.io.IOException; import java.util.Map; @WebServlet("/isLogin") public class IsLoginServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //設置編碼格式為UTF-8 req.setCharacterEncoding("UTF-8"); //將表單中獲取到的元素提取出來 String admin=req.getParameter("admin"); String password=req.getParameter("password"); //將這些元素引入dao層進行比對 IUserDAO userDAO = new UserDAOImpl(); Map<String, Object> map = userDAO.isLogin(admin, password); //查看比對結果並進行相應后續處理 if(map!=null){ //map不為空時設置map屬性值並請求轉發到登陸成功的主頁 req.setAttribute("map",map); System.out.println(map); req.getRequestDispatcher("/views/loginSuccess.jsp").forward(req,resp); }else { //失敗時將錯誤信息傳遞給 req.setAttribute("error","賬號或者密碼不正確"); req.getRequestDispatcher("/index.jsp").forward(req,resp); } } }
當然,最后判斷是否成功
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2019/6/24 Time: 10:43 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%--進行list循環時需要用到的--%> <html> <head> <title>Title</title> </head> <%--添加jquery代碼實現--%> <script src="js/jquery-2.1.0.js"></script> <body> <span>歡迎你,可愛的${map.mininame}</span> </body> </html>