springboot 静态资源(static)无法访问问题404
- (如果使用了拦截器)检查配置的拦截器是否对静态资源放行
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (!(handler instanceof HandlerMethod)) {
return true;
}
...
}
- 检查继承WebMvcConfigurerAdapter类 或实现WebMvcConfigure 接口中是否配置了静态资源放行(就是使用@EnableWebMvc注解的地方)
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/META-INF/resources/")
.addResourceLocations("classpath:/resources/").addResourceLocations("classpath:/static/")
.addResourceLocations("classpath:/public/");
super.addResourceHandlers(registry);
}
- 检查pom.xml中build的配置(如果仍无法访问)
<resources>
<resource>
<directory>src/main/webapp</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
- 如果有权限框架,如shiro或者spring security 自行配置请求过滤策略