注意事项
项目中的拦截器配置也必须是实现接口WebMvcConfigurer,不能继承WebMvcConfigurationSupport类,不然实现接口WebMvcConfiguration类的拦截器蒋不会生效。
启用注解
@Inherited
@Documented
@Configuration
@EnableWebMvc
@Target({
ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Import({
xxxxSelector.class, WebMvcConfig.class})
public @interface EnableXXXX {
}
WebMvcConfig配置
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new XXXXInterceptor())
.addPathPatterns("/**");
}
}
XXXXInterceptor 实现
public class XXXXInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 拦截器的实现
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 执行完的逻辑
}
/** @noinspection NullableProblems*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}