在springboot项目中,如果静态资源文件放置在src/main/resources/目录下,将项目打成war包后,静态资源文件找不到了
时间: 2024-12-19 21:23:19 浏览: 6
在Spring Boot项目中,当你把静态资源文件(如CSS、JavaScript、图片等)放在`src/main/resources`目录下时,通常默认情况下Spring Boot会自动处理这些静态资源的访问。当应用打包成WAR文件部署到Tomcat或类似的应用服务器时,你需要确保配置正确的映射规则。
在传统的web.xml或现代的`WebMvcConfigurer`接口中,你需要设置一个资源处理器,例如:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/");
}
}
```
这里`classpath:/META-INF/resources/`和`classpath:/resources/`是为了查找Spring Boot自动生成的`index.html`和其他HTML模板,`classpath:/static/`则是指的你在`src/main/resources/static`下的静态文件。
如果你按照这个配置,然后通过`http://localhost:8080/static/filename.css`这样的URL尝试访问,应该就能正常获取静态资源了。如果还是无法访问,检查一下是否正确设置了访问路径以及服务器端的部署配置。
阅读全文