SpringBoot 2.x.x会拦截静态资源问题


 

之前在看尚硅谷视频时,可谓是按照这老师的说法,一步一步按部就班,于是采坑了,在SpringBoot 2.x.x之前是不会对静态资源拦截的,但是现在已经普通使用2.x.x这个版本会对静态资源进行拦截。看如下代码。

    //WebMvcConfigurerAdapter中注册拦截器
 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**"). excludePathPatterns("/index.html","/","/user/login","/webjars/**","/static/**"); }

 

     这是我在遇到问题网上查看的写法,但是就是行不通。其实和static没有关系,因为static这种是默认类路径下的资源,在url上也不会***/static/js访问,如查看源代码,所以静态资源js、css是直接被访问的。

@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)
public class ResourceProperties {
    private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
            "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/" };

  以下是我的写法:

  

 //WebMvcConfigurerAdapter中注册拦截器
 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**"). excludePathPatterns("/index.html","/","/user/login","/webjars/**","/css/**","/js/**","/img/**");
    // index.html、/、/user/login分别是对访问首页和 表单提交不拦截
    //
/webjars/**是对webjars依赖进来的文件不拦截
    // /css/**,/js/**,/img/** 是对static下静态资源不拦截,注意在SprngBoot 2.x.x中是要这样指定的,2.x.x之前不需要
    
    //-----------------建议将静态资源放在/static/下的XX文件夹下拦截规范可以简化成 “/XX/**”--------------

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM