赞
踩
今天碰到一个神坑!!如何让拦截器不拦截静态资源,网上查阅了各种资料,最后得出的结论是:
(1)使用"/static/**"是无效的
- egistry.addInterceptor(sessionInterceptor)
- .addPathPatterns("/**")
- .excludePathPatterns("/","/static/**");
(2)应该直接使用static里面的路径,如"/css/**"
- registry.addInterceptor(sessionInterceptor)
- .addPathPatterns("/**")
- .excludePathPatterns("/","/css/**","/js/**","/img/**");
(3)关键点!!!!!千万千万不要在WebConfig类前面加上@EnableWebMvc注解,它会让你的exclude全部失效!!!!然而springboot的官方文档中的例子是加上的!!当时没有注意!
正确的写法如下:
- @Configuration
- //@EnableWebMvc千万不能加,谁加谁傻逼
- public class WebConfig implements WebMvcConfigurer {
- private static final List<String> EXCLUDE_PATH= Arrays.asList("/","/css/**","/js/**","/img/**","/media/**","/vendors/**");
- @Autowired
- SessionInterceptor sessionInterceptor;
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- /*
- * 对根目录和静态文件不需要进行拦截,如果对根目录(即登录页面)进行拦截,将会导致循环重定向
- */
- registry.addInterceptor(sessionInterceptor)
- .addPathPatterns("/**")
- .excludePathPatterns(EXCLUDE_PATH);
- }
- }

我是在being上查到了这个问题,随后翻看官方文档,突然发现它这么写:
如果要使用springboot自动配置,那么就不能加上@EnableWebMvc注解!!without!!!!
搞了一个多小时!!继续干!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。