当前位置: 代码迷 >> 综合 >> SpringBoot2.X使用拦截器后静态资源访问404
  详细解决方案

SpringBoot2.X使用拦截器后静态资源访问404

热度:16   发布时间:2023-11-23 02:26:12.0

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/");}
}