攔截器不生效的問題處理
攔截器沒有注冊到容器中,不能被容器管理
主要由以下兩個步驟:
-
自定義攔截器類實現(xiàn)
HandlerInterceptor接口 -
自定義WebMvc配置類實現(xiàn)
WebMvcConfigurer接口,添加自定義攔截器類
主要是第二步缺少。
第一步:
自定義攔截器 UserInterceptor: public class UserInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token = request.getHeader("token"); if(StringUtils.isEmpty(token)){ ... return false; } return true; } }
第二步:
配置自定義攔截器: @Configuration public class WebConfiguration implements WebMvcConfigurer {
@Bean
private UserInterceptor userInterceptor;
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(userInterceptor) // 攔截的請求 .addPathPatterns("/**") // 不用攔截的請求 .excludePathPatterns("/login"); } }
補上第二步即可

浙公網(wǎng)安備 33010602011771號