java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot静态资源(static)无法访问问题404

springboot静态资源(static)无法访问问题404及解决过程

作者:aogula

文章浏览阅读7.8k次。本文介绍了SpringBoot项目中遇到的静态资源无法访问的问题及解决办法。主要从拦截器配置、静态资源映射配置和pom.xml文件配置三个方面进行详细说明。

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 自行配置请求过滤策略

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文