.excludePathPatterns("/static/**")
时间: 2023-07-04 13:25:12 浏览: 90
这段代码是在Java中使用拦截器注册表(InterceptorRegistry)对拦截器进行路径匹配,即指定不需要拦截的请求路径。
".excludePathPatterns("/static/**")"的作用是将拦截器不拦截的请求路径设置为"/static/**",即排除所有以"/static"开头的请求路径,比如静态资源文件等。如果我们还想排除其他路径,可以使用类似的路径模式进行匹配。
通过这种方式,我们可以根据具体的需求来指定不需要拦截的请求路径,从而实现各种功能,比如请求的权限验证、日志记录、异常处理等。同时,我们也可以通过addPathPatterns方法来指定需要拦截的请求路径,并按照需要的顺序将拦截器添加到拦截器链中。
相关问题
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getAuthorizationInterceptor()) .addPathPatterns("/**") .excludePathPatterns("/static/**");//放行路径 super.addInterceptors(registry); }这段代码是什么意思
这段代码是在Web应用程序中注册一个拦截器,并将`AuthorizationInterceptor`对象添加到拦截器链中。`addPathPatterns("/**")`表示拦截所有的请求路径,`excludePathPatterns("/static/**")`表示放行以`/static/`开头的请求路径,即不对这些路径进行拦截。
当一个请求到达时,拦截器会先执行`getAuthorizationInterceptor()`方法返回的`AuthorizationInterceptor`对象的`preHandle()`方法,进行权限校验。如果权限校验通过,则继续执行后续逻辑;否则,拦截器会返回错误信息,不再继续执行后续逻辑。
`super.addInterceptors(registry)`表示将拦截器链注册到Spring MVC配置中,以便生效。
解释public class InterceptorConfig extends WebMvcConfigurationSupport{ @Bean public AuthorizationInterceptor getAuthorizationInterceptor() { return new AuthorizationInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getAuthorizationInterceptor()).addPathPatterns("/**").excludePathPatterns("/static/**"); super.addInterceptors(registry); } /** * springboot 2.0配置WebMvcConfigurationSupport之后,会导致默认配置被覆盖,要访问静态资源需要重写addResourceHandlers方法 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/resources/") .addResourceLocations("classpath:/static/") .addResourceLocations("classpath:/admin/") .addResourceLocations("classpath:/front/") .addResourceLocations("classpath:/public/"); super.addResourceHandlers(registry); } }
这段代码是一个拦截器配置类,它继承了WebMvcConfigurationSupport类,并且重写了addInterceptors和addResourceHandlers方法。
其中,getAuthorizationInterceptor()方法返回一个AuthorizationInterceptor对象,它是一个自定义的拦截器。
addInterceptors方法用于配置拦截器,这里将getAuthorizationInterceptor()加入到了拦截器链中,并指定了拦截的路径为"/**",但是排除了静态资源的路径"/static/**"。
addResourceHandlers方法则是用于配置静态资源的位置,这里将"/resources/"、"/static/"、"/admin/"、"/front/"和"/public/"这些路径都映射到"/**"路径下,这样就可以通过访问这些路径下的静态资源了。
阅读全文