您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页SpringBoot——Interceptor如何不拦截静态资源

SpringBoot——Interceptor如何不拦截静态资源

来源:汇意旅游网

今天碰到一个神坑!!如何让不拦截静态资源,网上查阅了各种资料,最后得出的结论是:

(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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务