java - 如何让 Tomcat 停止缓存我的 servlet 响应?

标签 java tomcat servlets caching

我正在学习 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 的用途。

您也不应该指定 的“docBase”属性。 您也不应指定 的“路径”属性。

OP 有几个选项:

  1. 使用管理器重新加载网络应用程序(应该不需要取消部署/重新部署:简单的重新加载应该可以) ( http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html#Reload_An_Existing_Application )

  2. 将 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/

相关文章:

java - 404 错误 : Resource not available jersey tomcat

java - 如何配置 log4j2 Web 应用程序

java - 启动了 GUI beanshell 但应用程序卡住了

排序文件中的 Java 字符串匹配和相似数据分组

java - 如何在父子之间使用公共(public)变量?

java - 无法加载 JDBC 驱动程序类 'com.mysql.jdbc.Driver' Tomcat 8 和 Eclipse

java - 如何使用 tomcat 5.5 上传 excel 文件?

java - request.getSession() 和 request.getSession(true) 的区别

java - 如何在 Java 中将 View 文件输出为 ajax 响应?

java - 直接从 Java 保存 H2O 模型