标签:mapping 手动 water void mvcc 动态 user load exclude
参考b站狂神视频
Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。
拦截器重写三个方法,详见参考,其与过滤器的区别参考 https://blog.csdn.net/zxd1435513775/article/details/80556034
为了解决 用户可以不登陆便可进入主页,这是不安全的,为了解决这个问题,便可使用拦截器。
LoginHandlerIntercepter.java
package com.example.employee_management.config;
?
import org.springframework.web.servlet.HandlerInterceptor;
?
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
?
/**
* @className: LoginHandlerIntercepter
* @description: 登录拦截器
*/
public class LoginHandlerIntercepter implements HandlerInterceptor {
?
MyMvcConfig.java
package com.example.employee_management.config;
?
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
?
/**
* @className: MyMvcConfig
* @description: MVC 控制器 借助注解完成控制器而不用手动编写
*/
LoginController.java
package com.example.employee_management.controller;
?
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
?
import javax.servlet.http.HttpSession;
?
启动项目后,在浏览器中输入
localhost:8080/main.html
便会转入到首页(index.html),并且提示用户尚未登录。 登录拦截器的功能便已完成。
标签:mapping 手动 water void mvcc 动态 user load exclude
原文地址:https://www.cnblogs.com/bxbo/p/13476738.html