是否可以从普通的java文件中禁用tomcat缓存

时间:2012-08-30 10:43:30

标签: java caching tomcat tapestry

您好我需要为单个页面禁用tomcat缓存。我已经通过了参考,

Control server side caching by page (Tomcat)?                              &安培; Java servlet how to disable caching of page

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

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

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

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

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

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

1 个答案:

答案 0 :(得分: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); 
        }...
    }