1

嗨,我需要禁用单个页面的 tomcat 缓存。我已经通过了裁判,

按页面控制服务器端缓存(Tomcat)? & Java servlet 如何禁用页面缓存

这里的解决方案是我需要这样做::

// 设置标准 HTTP/1.1 无缓存标头。response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");

// 设置标准 HTTP/1.0 无缓存标头。response.setHeader("Pragma", "no-cache");

但我没有那个特定页面的任何 servlet 类。我猜我需要将上面的代码片段添加到 servlet 类中。我正确吗?有没有办法从普通的java文件中禁用单个页面的tomcate缓存,,,??

有关我的技术和框架的更多信息::

我们有一个名为 Tapestry(3) 的框架。我们有一个名为 ApplicationServlet 的 servlet 类。它将 .jwc 文件(包含非静态部分)和 html 结合在一起以创建一个新的 html 页面。:)

4

1 回答 1

0

您可以通过 servlet 过滤器(仅匹配相关页面)设置 HTTP 标头来完成此操作:

   public void doFilter(ServletRequest request, ServletResponse response, 
            FilterChain chain) throws IOException, ServletException { 
        try { 
            HttpServletResponse res = (HttpServletResponse) response; 
            // Set standard HTTP/1.1 no-cache headers.
            // Set standard HTTP/1.0 no-cache header.
            res.addHeader(...)             
            chain.doFilter(request, response); 
        }...
    }
于 2012-10-11T11:54:12.917 回答