SpringBoot中自己写的拦截器,居然把静态资源也拦截了,导致了页面加载失败
/****/
@Configuration
public class SpringMvcWebConfigSupport implements WebMvcConfigurer {/*** 默认访问的是首页** @param registry*/@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/").setViewName("login");registry.addViewController("/login.html").setViewName("login");registry.addViewController("/main.html").setViewName("dashboard");}/*** 将static下面的js,css文件加载出来** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {//registry.addResourceHandler("/static/").addResourceLocations("classpath:/static/");registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");}/*** 将国际化添加到容器中** @return*/@Beanpublic LocaleResolver localeResolver() {return new MyLocalResolver();}/*** 注册拦截器** @param registry*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns("/", "/login.html", "/user/login","/**/*.css", "/**/*.js", "/**/*.png", "/**/*.jpg","/**/*.jpeg", "/**/*.gif", "/**/fonts/*", "/**/*.svg");}
}
解决方法:在你注册拦截器的方法中,将这些静态资源排除掉,这样就可以顺利加载出来了,静态资源。实现自己的目标。
/*** 注册拦截器** @param registry*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns("/", "/login.html", "/user/login","/**/*.css", "/**/*.js", "/**/*.png", "/**/*.jpg","/**/*.jpeg", "/**/*.gif", "/**/fonts/*", "/**/*.svg");}
未加载静态资源页面: