Spring 请求添加 cache
@EnableWebMvc
@Configuration
public class MyWebAppConfigurer implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("file:/c/downlod" )
.setCacheControl(CacheControl.maxAge(3, TimeUnit.MINUTES).mustRevalidate().cachePrivate())
.resourceChain(true);
}
}
Spring 添加 Etag标签
/**
* Etag
* @return
*/
@Bean
public FilterRegistrationBean filterRegistrationBean () {
ShallowEtagHeaderFilter eTagFilter = new ShallowEtagHeaderFilter();
//设置为weakETag,默认为false
// eTagFilter.setWriteWeakETag(true);
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(eTagFilter);
registration.addUrlPatterns("/*");
registration.setOrder(2);
return registration;
}```

本文介绍了如何在Spring MVC应用中配置静态资源的缓存控制,通过`addResourceHandlers`方法添加文件系统路径,并使用`CacheControl`进行缓存设置,确保资源在3分钟内被缓存且必须重新验证。同时,文章还展示了如何添加Etag过滤器,通过`ShallowEtagHeaderFilter`实现弱Etag的支持,增强响应缓存策略。

被折叠的 条评论
为什么被折叠?



