Tomcat 7在更新后继续使用旧的jsp

我们(我公司的人员)已经为Tomcat创建了一个应用程序,它不久前使用servlet和jsp作为GUI。

我们刚刚完成了一个更新,其中一个jsp被大量改变。 但是当我们在一台计算机上替换war文件时,它会继续使用旧的jsp(其中所有跟踪都从所述计算机中删除),而它在其他任何地方都能正常工作。

即使在重新启动计算机后问题仍然存在。

有没有人见过这样的行为? 可以做些什么呢?

删除所有跟踪是否也意味着服务器上的“干净”? 您可能知道它在“work”文件夹中保留了一些类(特别是编译的jsps)

这可能是因为缓存。 首先确认项目是否正确清理。 并检查页面的html如果页面包含旧代码或最新的代码,如果有旧代码,那么浏览器将获取旧文件,因此尝试清除浏览器的缓存然后尝试执行。

如何清除缓存firefox chrome

问题很可能是由时间戳不匹配引起的。 新上载的JSP页面或servlet的时间戳大于服务器上缓存的页面或servlet的时间戳。 要避免此问题,请确保上载JSP或servlet的计算机上的系统时钟与运行服务器的计算机的系统时钟同步。 要解决此问题,请检查以下内容:

•确保文件传输客户端(如winscp已知会导致问题)日期,时间和时区与Apache Tomcat服务器同步。 •使用Apache Tomcat服务器validationJSP日期,时间和时区是否是最新的。 如果没有,请使用正确的时间戳重新部署JSP。 •如果更新JSP时间戳失败,那么您要做的最后一件事是在Apache Tomcat工作目录中删除JSP,如果您没有要保留的重要会话。

  • 停止服务器。
  • 删除webapps / APP_NAME文件夹
  • 将webapps / APP_NAME.war替换为新的。
  • 启动服务器。

这应该有帮助:)

我有同样的问题,但它不是tomcat。
我的Apache设置为允许浏览器缓存text / html和text / plain类型1个月。 该页面的调用是根据JavaScript进行的,即使您使用Ctrl + F5重新加载页面,这些JavaScript调用仍会从browsercache加载。

清除browsercache后,我得到了正确的页面。
从现在开始,我不再为apache中的那些类型启用浏览器缓存。

即使在重新启动计算机后问题仍然存在。

如果您删除了JSP,那么问题必须是在工作目录树中编译JSP。 从轨道起飞和核弹:-)