Spring boot配置登录拦截器后,导致整个JSP页面上的CSS/IMG/JS都被拦截,无法加载的问题
第一次使用Java spring boot 中的登录拦截器:要实现登录拦截的功能需要用到的几个接口的方法使用:
实现HandlerInterceptor接口
preHandle方法会在controller执行之前执行:
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
System.out.println("controller之前执行");
Object user_id = request.getSession().getAttribute("user_id");
if (user_id == null) {
System.out.println("该用户未输入账号信息!");
response.sendRedirect(request.getContextPath()+"/login");
return false;
}
System.out.println("当前用户已登录,登录的用户名为: " + user_id);
return true;
}
WebMvcConfigurer的实现类添加和排除过滤规则
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor())
// .addPathPatterns("/");
.excludePathPatterns("/static/","/webjars/**","/login");
}
}