一个jsp页面内HOWTO停用缓存(Howto deactivate caching inside

2019-09-01 01:21发布

我知道有一个HTTP响应头指令禁用页面缓存:

Cache-Control:no-cache

我可以修改由“手”的标题:

 <%response.addHeader("Cache-Control","no-cache");%>

但有一个“好”的方式,使JSP解释返回服务器响应这个标题行?

(我查了<%@页...%>指令,似乎没有什么这样。)

Answer 1:

另外补充

response.addHeader("Expires","-1");
response.addHeader("Pragma","no-cache");

你的头并给予了一枪。



Answer 2:

如果你使用的是servlet,那么我相信你的问题发布将是正确的做法。 我不知道的任何方式,在JSP做到这一点。



Answer 3:

<?xml version="1.0"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> 
 <jsp:scriptlet><![CDATA[
   response.setHeader("Cache-Control", "no-cache");
 ]]></jsp:scriptlet>
</jsp:root>

必须将响应标头内<jsp:root /> 另外,我反而会建议它从你的servlet而不是JSP页面发送此。



Answer 4:

IIRC一些浏览器可能会忽略在某些情况下缓存控制设置。 这样做的“安全”的解决方法是总是以新的查询字符串变量得到一个网页(即使是AJAX块)(如时间)。



文章来源: Howto deactivate caching inside a jsp page