拦截器

  1. 自定义拦截器(拦截的条件是什么)
//自定义登录拦截器
public class LoginHandlerIntercepter implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //获取登录session
        Object userLogin = request.getSession().getAttribute("userLogin");
        if(userLogin == null){//没有登录
            request.setAttribute("msg","没有权限,请先登录!");
            //请求转发
            request.getRequestDispatcher("/index.html").forward(request,response);
            //拦截
            return false;
        }
        return true;
    }
}
  1. 配置拦截器(拦截什么请求)
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginHandlerIntercepter())
                .addPathPatterns("/**")
                .excludePathPatterns("/index.html","/","/user/login","/css/**","/img/**","/js/**");
    }
}
posted @ 2022-04-19 20:12  清水煮岁月  阅读(36)  评论(0编辑  收藏  举报