防止在浏览器中缓存数据

时间:2014-02-25 01:26:27

标签: servlets

我正在进行一项任务,我必须在html页面上提供另一个html页面的链接。

第1页上的链接将用户发送到servlet。在Servlet中的get方法内部,我得到了referer,如果它是Page 1,我输出第二个HTML页面。

目标是,如果用户绕过第1页,直接进入第2页(Servlet),则会将其发送回第1页。

第一次运行应用程序时,如果我尝试直接转到Servlet,我会按预期重定向到第1页。但是,一旦我点击链接,似乎servlet响应正在被缓存,因为我被发送到第2页,当我应该被发送回第1页。

我将以下行添加到我的servlet代码中,但它似乎仍然是缓存(我的猜测)。

response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");

2 个答案:

答案 0 :(得分:0)

必须是Eclipse内部的浏览器忽略no-cache标头。我在Firefox中试过它,它的行为正确。

答案 1 :(得分:0)

尝试执行以下操作:

  response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
  response.setHeader("Pragma", "no-cache"); 
  response.setDateHeader("Expires", 0); 

希望能帮助