Java Web App中各个动态和静态文件的缓存设置

时间:2012-02-25 22:46:47

标签: java jsp caching tomcat

对于在Tomcat上运行的Web应用程序中的特定文件,是否可以在HTTP标头响应中应用不同的缓存控制?我希望从Web应用程序执行此操作,而无需更改Tomcat的配置,因为这些设置随每次部署而变化。

例如,这是我想要的一个例子:

  • 从不缓存:/,/ index.jsp(我知道可以在JSP或servlet类的头文件中定义缓存。)
  • 缓存:/ js / ,/ img / ,/ css / *(缓存这些文件3个月)

感谢您的回答。

由于

1 个答案:

答案 0 :(得分:5)

这绝对是ServletFilters的工作,因为它们允许您拦截请求。

通过这种方式,您可以轻松设置正确的HTTP标头以进行缓存

几分钟前我开始使用两个ServletFilter编写解决方案。

一个缓存资源的过滤器和一个不缓存它们的过滤器。

然而,我偶然发现了cache-filter,它已经为你完成了工作......

看起来您需要将您的Never缓存资源指向

NoCacheFilter

的可缓存资源

CacheFilter