SpringBoot2.X使用拦截器后静态资源访问404
今天在项目中添加了Intercptor后,发现我的前端页面的静态资源不能访问了。
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {@Autowiredprivate SessionInterceptor sessionInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(sessionInterceptor).addPathPatterns("/**");}
经过百度后,终于解决了,SpringBoot2之后发现继承了WebMvcConfigurer类之后所有的静态资源都404了.
解决方法
重写 addResourceHandlers 方法
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {@Autowiredprivate SessionInterceptor sessionInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(sessionInterceptor).addPathPatterns("/**");}/*** SpringBoot 2.x要重写该方法,不然css、js、image 等静态资源路径无法访问* @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/**").addResourceLocations("classpath:/META-INF/resources/").addResourceLocations("classpath:/resources/").addResourceLocations("classpath:/static/").addResourceLocations("classpath:/public/");}
}