我们先来看下SpringBoot1.5.9版本的关于静态资源拦截处理
当我们自己配置的拦截器不拦截静态资源的配置时
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/index.html","/","/user/login");
//,"/asserts/**","/webjars/**"
}
页面会正常显示,这是因为,在SpringBoot2.0之前的版本,SpringBoot自动配置的拦截器,对静态资源能正常访问,我们自己配置的时候可以不用管,就能正常访问。
接下来我们看下SpringBoot2.2.5版本的底层设置拦截器资源的时候
当我们正常写上面的那个代码的时候,会导致页面样式丢失,主要原因就是
在我们配置拦截器的时候没有将"/asserts/","/webjars/"里的资源排除在外,而springboot2.0以后的版本不会自动管理静态资源映射的配置,所以我们访问不到静态页面
当我们自己配置的拦截器将静态资源排除在外之后,页面正常显示
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/index.html","/","/user/login","/asserts/**","/webjars/**");
}