我试图将第二个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。"什么都没有。
我是不是有什么明显的问题?
我认为你把问题复杂化了。如果你想部署多个web应用,只需在deployments目录下投放耳战。当他们部署时,日志会显示他们的上下文路径,然后访问任何相对于该路径的内容,例如
war1DispatchServletwar2DispatchServlet
如果不能接受使用不同的路径,那么为了按照您的尝试来做,您需要按照指南中解释的方式使用ROOT.war文件和对standalon-full.xml的相关修改来禁用内置的默认的