我们(我公司的人员)已经为Tomcat创建了一个应用程序,它在不久前使用servlet和jsp作为GUI。
我们刚刚完成了一个更新,其中一个jsp被大量改变。但是当我们在一台计算机上替换war文件时,它会继续使用旧的jsp(其中所有跟踪都从所述计算机中删除),而它在其他任何地方都能正常工作。
即使重新启动计算机,问题仍然存在。
有没有人见过这样的行为?可以做些什么呢?
答案 0 :(得分:5)
这可能是因为缓存。首先确认项目是否正确清理。如果页面包含旧代码,则检查页面的html;如果旧代码存在,则检查最新的代码,然后浏览器获取旧文件,因此尝试清除浏览器的缓存然后尝试执行。
答案 1 :(得分:3)
删除所有痕迹是否也意味着"清洁"在服务器上?你可能知道它在" work"中保留了一些类(尤其是编译的jsps)。夹
答案 2 :(得分:1)
问题很可能是由时间戳不匹配引起的。新上载的JSP页面或servlet的时间戳大于服务器上缓存的页面或servlet的时间戳。要避免此问题,请确保上载JSP或servlet的计算机上的系统时钟与运行服务器的计算机的系统时钟同步。要解决此问题,请检查以下内容:
•确保文件传输客户端(如winscp已知导致问题)日期,时间和时区与Apache Tomcat服务器同步。 •使用Apache Tomcat服务器验证JSP日期,时间和时区是否是最新的。如果没有,请使用正确的时间戳重新部署JSP。 •如果更新JSP时间戳失败,那么如果您没有要保留的重要会话,那么您要做的最后一件事是删除Apache Tomcat工作目录中的JSP。
答案 3 :(得分:0)
这应该有帮助:)
答案 4 :(得分:0)
我有同样的问题,但它不是tomcat 我的Apache设置为允许浏览器缓存text / html和text / plain类型1个月。 该页面的调用是根据JavaScript进行的,即使您使用Ctrl + F5重新加载页面,这些JavaScript调用仍会从browsercache加载。
清除浏览器缓存后,我得到了正确的页面 从现在开始,我不再为apache中的那些类型启用浏览器缓存。
答案 5 :(得分:-1)
即使重新启动计算机,问题仍然存在。
如果您删除了JSP,则问题已在工作目录树中编译JSP。从轨道上起飞和核弹: - )