拦截器配置及原理
SpringBoot项目中设置拦截器,分为两步:
-
创建拦截器类;
-
编写配置类来完成拦截器的配置
以用户登录检查为例,进行讲解
创建拦截器类
- 首先创建一个interceptor包
- 在包内创建拦截器类,例如LoginInterceptor类
- 令该类实现HandlerInterceptor接口
- 重写接口的三个方法(不用都重写,用到哪个重写哪个)
代码:
public class LoginInterceptor implements HandlerInterceptor {
/***
* 在请求处理之前进行调用(Controller方法调用之前)
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("执行了拦截器的preHandle方法");
try {
HttpSession session = request.getSession();
//统一拦截(查询当前session是否存在user)(这里user会在每次登录成功后,写入session)
User user =