您可以编写自己的缓存过滤器,并在您的 web xml 中配置它。
在这里,您可以找到如何实现它的基本但很好的示例。
在web.xml
你声明你的过滤器:
<filter>
<description>Set HTTP headers for a mapping.</description>
<filter-name>CacheFilter</filter-name>
<filter-class>your.package.CacheFilter</filter-class>
<init-param>
<description>Adds an expires header to the response</description>
<param-name>header</param-name>
<param-value>Expires: Thu, 26 Apr 2012 20:00:00 GMT</param-value>
</init-param>
</filter>
然后将其映射(将其应用于响应):
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.css</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
您可能还想使用压缩过滤器(以同样的方式),以减少从服务器发送的数据的负载。gzip 过滤器的这种实现已经为我工作了多年(沿着缓存过滤器),并且从来没有遇到过任何问题。