今天碰到一个神坑!!如何让不拦截静态资源,网上查阅了各种资料,最后得出的结论是:
(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 © 2019- hids.cn 版权所有 赣ICP备2024042780号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务