springboot 静态资源映射图片无法实时访问问题
时间: 2023-12-02 11:05:37 浏览: 109
通常情况下,Spring Boot 静态资源默认映射到 `/static`、`/public`、`/resources`、`/META-INF/resources` 目录下,可以通过修改 `spring.resources.static-locations` 属性来改变默认映射目录。
如果你修改了静态资源文件,在访问时发现无法实时访问,可能是缓存导致的。浏览器会缓存静态资源,如果资源没有发生变化,浏览器不会重新请求,而是使用缓存中的资源。解决方法如下:
1. 修改文件名或者路径,让浏览器认为该资源是一个新的资源,会重新请求。
2. 修改浏览器缓存策略,让浏览器不再缓存该资源。可以在 Spring Boot 中配置 `WebMvcConfigurer` 来实现,示例代码如下:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/")
.setCacheControl(CacheControl.noCache()); // 禁用缓存
}
}
```
这样配置后,浏览器就会禁用缓存,每次请求资源都会去服务器端获取最新的资源。
阅读全文