18.14.2HTTP缓存支持静态资源
静态资源应该使用app4 ropriate的'Cache-Control'和条件头来达到最佳性能。配置一个ResourceHttpRequestHandler来为静态资源提供服务,不仅通过读取文件的元数据本地写入'Last-Modified'头,
而且还可以正确配置'Cache-Control' 头文件。
您可以在ResourceHttpRequestHandler上设置cachePeriod属性,也可以使用支持更多特定指令的CacheControl实例:
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/public-resources/")
.setCacheControl(CacheControl.maxAge(1, TimeUnit.HOURS).cachePublic());
}
}
在XML中:
<mvc:resources mapping="/resources/**" location="/public-resources/">
<mvc:cache-control max-age="3600" cache-public="true"/>
</mvc:resources>