hgu*_*ser 7 java spring spring-boot
我正在使用spring boot,并且/static作为js和css等静态资源提供服务,到目前为止一直都很好,而我想设置这些文件的缓存头,所以我尝试了这个:
@Configuration
public class BaseMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/").setCachePeriod(24 * 3600 * 365);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,之后,应用程序无法从该/static文件夹中提供任何内容.
有什么问题?
Ali*_*ani 11
在我看来,最好使用spring.resources.cache-periodproperty来设置默认Boot Resource Handler的缓存周期.所以将以下内容添加到您的application.properties:
spring.resources.cache-period = 31536000
Run Code Online (Sandbox Code Playgroud)
并删除BaseMvcConfig配置文件.
由于spring.resources.cache-period已弃用,您可能想使用较新的版本spring.web.resources.cache.period,这需要几秒钟(如以前一样),或者Duration像这样的规范:
spring.web.resources.cache.period = P30D
Run Code Online (Sandbox Code Playgroud)
请参阅Duration#parse() JavaDoc 以供参考。
| 归档时间: |
|
| 查看次数: |
5561 次 |
| 最近记录: |