【问题标题】:J2EE war file redeployment changes not reflectedJ2EE 战争文件重新部署更改未反映
【发布时间】:2009-12-01 02:21:22
【问题描述】:

我创建了 index.jsp 文件如下

<form action="" method="POST"><br>
    First Name: <input type="text" name="firstName" size="20"><br>
    Surname: <input type="text" name="surname" size="20"><br>
    <input type="submit" value="Submit"><br>
</form>

我将它导出到 .war 并且一切正常。然后后来我修改了index.jsp,在表单action中添加到了

<form action="GreetingServlet" method="POST"><br>
    First Name: <input type="text" name="firstName" size="20"><br>
    Surname: <input type="text" name="surname" size="20"><br>
    <input type="submit" value="Submit"><br>
</form>

我再次将其导出到 .war,但未反映更改。当我查看源代码时,表单操作仍然等于空白。我也重新启动了apache。我查看日志,它显示它已被重新部署..但没有反映更改。

我试过不同的浏览器,重启eclipse看看是否保存了修改,重启apache。有什么建议吗?谢谢

【问题讨论】:

  • 您是否尝试使用 Apache 特定的 Web 控制台而不是 Eclipse 来部署它?

标签: java servlets jakarta-ee


【解决方案1】:

你在做什么,你正在使用的工具,你是如何使用它们的,等等都完全不清楚。如果您可以提供更多有关您的上下文的详细信息并阐明您正在执行的操作,那将非常有帮助。目前,在不猜测的情况下很难帮助你......

以防万一,我的猜测是您实际上没有重新部署 WAR,即您没有将其复制到 Apache Tomcat 的 webapps 目录(您使用的是 Apache Tomcat 的事实是我的第二个猜测是 Apache 通常指的是 Apache HTTPD,即 Web 服务器)。

【讨论】:

  • 是的。不幸的是,对于开源事物,产品没有明显的区别。有 Web 服务器 Apache,Java 实现的 Tomcat,用于部署战争的特定于捆绑包的 Web 控制台,可能是用于类似部署的商业或开源 J2EE 产品(为什么海报将其标记为 J2EE?)等。工具链详细信息将有助于得到更好的答案
  • @RocketSurgeion:相反 - 开源“事物”非常不同。他们中的许多人佩戴 Apache 徽章这一事实并没有使他们变得不明显。 Servlet 是 J2EE 的一部分。
  • @RocketSurgeon 好吧,我不太同意。苹果不是橙子,但两者都是水果。开源软件也是如此,人们只需要使用正确的名称 :)
【解决方案2】:

“导出到 WAR”对您意味着什么?我假设您的意思是创建一个新的 WAR 并将其重新部署到 Tomcat。请确认是否属实。

我还想知道该操作 URL 是否应该是“/GreetingServlet”。

GreetingServlet 是否在一个包中?它是否映射到您的 web.xml 文件中?您可以通过在浏览器中输入 URL 来调用 GreetingServlet 吗?如果您无法联系到它,我也不希望您的 index.jsp 这样做。

index.jsp 是 web.xml 中的 吗?

暂时不要考虑 Eclipse。能否创建一个WAR文件并成功部署到Tomcat?

您运行的是哪个版本的 Tomcat? JDK?操作系统?

如果您在最初的问题中提供这些类型的详细信息,将来会有所帮助。帮助我们帮助您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多