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/**”--------------

}

猜你喜欢

转载自www.cnblogs.com/lcaiqin/p/10421807.html
今日推荐