Java 即使在提供缓存参数之后,JSP页面也会被缓存

Java 即使在提供缓存参数之后,JSP页面也会被缓存,java,spring,jsp,caching,Java,Spring,Jsp,Caching,项目在Spring框架上运行,处理请求的处理程序类扩展了MultiActionController 我添加了以下代码来设置响应头中的缓存控制参数 httpServletResponse.addHeader("Cache-Control", "no-cache, no-store, must- revalidate,max-age=0,private,pre-check=0,post-check=0"); httpServletResponse.addHeader("Pragma", "no-c

项目在Spring框架上运行,处理请求的处理程序类扩展了MultiActionController

我添加了以下代码来设置响应头中的缓存控制参数

httpServletResponse.addHeader("Cache-Control", "no-cache, no-store, must- revalidate,max-age=0,private,pre-check=0,post-check=0"); 
httpServletResponse.addHeader("Pragma", "no-cache"); 
httpServletResponse.addDateHeader("Expires", -1); 
甚至在JSP页面中,我还包括以下几行:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Cache-Control" content="max-age=0" />
<meta http-equiv="Cache-Control" content="must-revalidate" />
<meta http-equiv="Cache-Control" content="private" />
<meta http-equiv="Cache-Control" content="pre-check=0" />
<meta http-equiv="Cache-Control" content="post-check=0" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

当我使用Firebug在fire fox上调试页面时,响应标题如下所示:

和“缓存”选项卡,如下所示:

此情况仅发生在一个页面上,其余页面未被缓存。原因是什么?请帮助我进行分类。

查看。以下是重要部分:

mozilla缓存保存用户通过HTTP下载的所有文档。 起初,这似乎有些奇怪;然而,这样做是为了使访问更方便 可用于返回/转发、保存、作为源查看等的文档。 不需要额外的服务器访问。同样地 改进缓存内容的脱机浏览


是什么让您相信它仍在缓存中。响应头和缓存选项卡都已过期,这是过去的情况。因此,它将始终从服务器而不是浏览器加载。你还有其他观察吗?我在Chrome浏览器unser上也做了同样的检查chrome://cache/ 我可以在那里看到缓存的JSP页面:(点击浏览器返回按钮,缓存页面被加载(没有单独的请求被发送)我有同样的问题,但它在我的情况下运行。nwys尝试将Pragma大写字母P更改为Pragma