在使用springboot+thymeleaf的时候发现了这样的情况:加载到的js和css文件都没有内容。
但是在项目中是正常的文件。
尝试配置了许多东西之后发现是拦截器的问题。
1、在实现了WebMvcConfigurer
接口的配置类中先重写addResourceHandlers
方法。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/resources/")
.addResourceLocations("classpath:/static/")
.addResourceLocations("classpath:/templates/");
WebMvcConfigurer.super.addResourceHandlers(registry);
}
2、在addInterceptors
方法中配置excludePathPatterns
。
registry.addInterceptor(authenticationInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/login/**","/**/*.js","/**/*.css","/favicon.ico","/bootstrap/**");//主要是这里,直接从static下一级目录开始写。
最后,可以在Interceptor
的preHandler
方法中LOGGER.info(request.getRequestURI());
打印访问路径来查看是否被排除了拦截~