我在使用Tomcat 7.0.34的某些jsp页面上遇到问题,可能是因为我不清楚它的行为。
特别是我正在测试页面的一些更改,而我所做的更改在浏览器上看不到,并非总是如此。使用的浏览器是IE9和Firefox 19。 我试图清除不同时间的缓存,但浏览器仍然有时显示旧的,有时是新版本的页面。
然后我试图在页面中输入语法错误。多次点击刷新按钮,有时浏览器会显示编译问题(如预期的那样),但有时会显示页面没有问题。
我试图删除工作目录中的.class文件但没有任何改变。
在大约30分钟不活动后,我再次尝试打开并刷新页面,这次我总是得到并且错误,但有时Tomcat发送给我一个语法错误,有时候会发生ClassNotFoundException。
我想知道为什么Tomcat会出现这种行为,以及如何确保它始终将最后编译的页面发送到浏览器。
答案 0 :(得分:2)
我认为页面被浏览器缓存的问题。 两个选项:
1)删除浏览器缓存 例如,如果是FireFox,可以按Ctrl + Shift + Del
来完成
2)防止页面在服务器端缓存。将以下内容添加到页面中:
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
%>