将另一个servlet部署到一个wildfly实例上。

问题描述 投票:0回答:1

我试图将第二个Web应用程序部署到Wildfly服务器上,目前该服务器只托管一个应用程序。 我对standalone.xml做了以下修改(参见 在Jboss7或Wildfly上访问多个Web应用。 - 我的需求基本上是一样的)。)

Under <subsystem xlmns="urn:jboss:domain:undertow:8.0>, added

<server name="dispatch-server">
  <http-listener name="default" socket-binding="dispatch"/>
  <host name="dispatch-host" default-web-module="Dispatch.war" alias="Dispatch.com">
  </host>
</server>

Next, under <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">, added

<socket-binding name="dispatch" port="${jboss.https.port:8081}"/>

Finally, under <Deployments>, added

<deployment name="Dispatch.war" runtime-name="Dispatch.war">
  <fs-archive path="${jboss.home.dir}/standalone/deployments/Dispatch.war" />
</deployment>

为部署的Dispatch.war提供web.xml内容。

<servlet>
  <servlet-name>DispatchServlet</servlet-name>
  <servlet-class>blah.blah.blah.DispatchServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>DispatchServlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

我写了一个小应用程序来测试连接到servlet,使用"http:/localhost:8081。",但我得到一个HTTP 404错误。 我已经尝试另外用"http:/localhost:8081DispatchServlet。",没有任何变化。

我发现其他教程提到需要一个与Dispatch.war捆绑的jboss-web.xml文件,所以我添加了一个像这样的裸体文件。

<jboss-web>
  <context-root>/</context-root>
</jboss-web>

它并没有影响我看到的行为。 我还试着把context-root改为 "DispatchServlet",然后点击"http:/localhost:8081DispatchServlet。"什么都没有。

我是不是有什么明显的问题?

java servlets deployment wildfly war
1个回答
0
投票

我认为你把问题复杂化了。如果你想部署多个web应用,只需在deployments目录下投放耳战。当他们部署时,日志会显示他们的上下文路径,然后访问任何相对于该路径的内容,例如

war1DispatchServletwar2DispatchServlet

如果不能接受使用不同的路径,那么为了按照您的尝试来做,您需要按照指南中解释的方式使用ROOT.war文件和对standalon-full.xml的相关修改来禁用内置的默认的

© www.soinside.com 2019 - 2024. All rights reserved.