现在页面里有一段 java 代码获取服务器时间,但是每次在地址栏回车后获取到的时间都是浏览器缓存里保存的上次获取到时间,除非 F5 强制刷新页面才行。
如果在获取时间之前加入清缓存的代码
- Java code
if (request.getProtocol().compareTo("HTTP/1.0")==0) response.setHeader("Pragma","No-cache"); else if(request.getProtocol().compareTo("HTTP/1.1")==0) response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0);
就会造成把页面其他的内容也清了,导致页面过期,如果才能不清缓存,又能够在地址栏直接回车也能获取到实时的时间?
------解决方案--------------------
在你的请求地址中加上一个时间参数
例如:http://localhost:8080/XXX.jsp?idate=new Date();
上面例子不是在地址栏直接写上new Date();是获取当期的时间加上去;
这样,你每一次请求的路径都不相同(因为时间不同),浏览器就不会用缓存来忽悠你了