在springMVC中可以實現攔截器,是通過實現HandlerInterceptor接口,然后在springmvc-web.xml中配置就可以使用攔截器了。在springboot中攔截器也是一樣的思想,使用方法還是沒有變,只不過是配置稍微變了一下。
在springboot中使用攔截器步驟如下:
1.按照springmvc模式寫一個攔截器類
和springmvc一樣,也要寫一個類實現HandlerInterceptor接口,然后重新其中的prehandle方法。
2.然后寫一個配置類,繼承WebMvcConfigureAdapter(這個方法已經過時了)或者實現WebMvcConfigurer接口,覆蓋里面的方法 並且在類上添加注解@Configuration
如下所示:
@Configuration
public class MyConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//需要攔截的路徑,通常都是多個,所以使用數組形式
String[] addPathPatterns = {
"/hellojsp"
};
//不需要的攔截路徑,同上
String[] excludePathPatterns = {
"/hello/boot"
};
//可以將添加攔截的路徑和不需要攔截的路徑都寫在一行上。如果有多個,就寫多行
registry.addInterceptor(new MyInterceptor()).addPathPatterns(addPathPatterns).excludePathPatterns(excludePathPatterns);
}
}
如上,就可以在springboot中使用攔截器了。