1. 实现 org.springframework.web.servlet.HandlerInterceptor 接口
覆盖preHandle方法,返回false,拦截(不进入controller),返回true,放行(进入controller)
public class MyInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("进入了拦截器MyInterceptor。。。。");
return HandlerInterceptor.super.preHandle(request, response, handler);
}
}
2.配置拦截器
实现 org.springframework.web.servlet.config.annotation.WebMvcConfigurer 接口(java8,接口有默认实现)
覆盖addInterceptors(InterceptorRegistry)方法即可
//或是继承适配器类 org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter 也可
/**
* 拦截器配置
*
*/
@Configuration
public class InterceptorConfig implements WebMvcConfigurer{
@Override
public void addInterceptors(InterceptorRegistry registry) {
//拦截路径
String[] addPathPatterns = {
"/boot/**"
};
//不拦截路径
String[] excludePathPatterns = {
"/boot/hello"
};
//注册拦截器 可以设置多个
registry.addInterceptor(new MyInterceptor())
.addPathPatterns(addPathPatterns)
.excludePathPatterns(excludePathPatterns);
}
}