Users must log in before they can use functions. Real-life examples, such as the school's academic administration system, only publicly display the login page. Only after successful login can other information be browsed.
The interceptor can be used to determine whether the user is logged in. If not, intercept it.
code part
Project path
1、login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page isELIgnored="false" %> <html> <head> <title>Title</title> <% pageContext.setAttribute("page",request.getContextPath());%> </head> <body> <form action="${page}/users/login" method="post"> username:<input type="text" name="username"/><br> password:<input type="password" name="password"/><br> <input type="submit" value="登录"> </form> </body> </html>
2、success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page isELIgnored="false" %> <html> <head> <title>SUCCESS</title> <% pageContext.setAttribute("page",request.getContextPath());%> <!--绝对url指向指定栈点--> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> </head> <body> ${key} </body> </html>
3、MyTwoInter.java
package com.qingruan.servlet; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyTwoInter implements HandlerInterceptor { //目标方法运行之前执行 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("MyTwoInter...preHandle()"); //表示继续执行后续的操作 return true; } //目标方法运行之后运行 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("MyTwoInter...postHandle()"); } //在整个请求完成之后的操作 @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("MyTwoInter...afterCompletion()"); } }
4、UsersController.java
package com.qingruan.servlet; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpSession; @Contro