我正在学习 Servlets 编程,在 Ubuntu 8.10 机器上使用 Apache Tomcat 6,我遇到了一个非常烦人的问题——显然与缓存有关。
这就是我正在做的事情:我编写一个 servlet,将它放在一个漂亮的目录结构中,然后使用 Tomcat Web 应用程序管理器部署它。它按预期工作。然后我编辑 servlet,重新编译并尝试再次访问它,但 Tomcat 一直返回相同的旧版本。重新加载应用程序甚至重新启动服务器都不起作用。唯一可行的是“取消部署”应用程序,然后重新部署它。
每次我对代码进行任何小的更改时,我都必须这样做。这很糟糕。
我确信有办法解决这个问题,但我无法在网络上的任何地方找到答案(而且我确实搜索了很多)。我真的很感激任何帮助。谢谢!
最佳答案
Adeel Ansari 的建议是有缺陷的:您永远不应该使用特定于 webapp 的配置修改 CATALINA_HOME/conf/context.xml。这就是 your-webapp/META-INF/context.xml 的用途。
您也不应该指定
OP 有几个选项:
使用管理器重新加载网络应用程序(应该不需要取消部署/重新部署:简单的重新加载应该可以) ( http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html#Reload_An_Existing_Application )
将 META-INF/context.xml 中的元素设置为 reloadable="true" ( http://tomcat.apache.org/tomcat-6.0-doc/config/context.html )
恕我直言,如果您需要 Tomcat 方面的帮助,请加入用户的邮件列表并获得一些真正的答案。
关于java - 如何让 Tomcat 停止缓存我的 servlet 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/415520/