将另一个 servlet 部署到 wildfly 实例
Deploying another servlet to a wildfly instance
我正在尝试将第二个 Web 应用程序部署到当前托管单个应用程序的 Wildfly 服务器。我对 standalone.xml 进行了以下修改(参见 - 我的需求基本相同):
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>
web.xml 已部署内容 Dispatch.war:
<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", but I get an HTTP 404 error. I've tried additionally with "http://localhost:8081/DispatchServlet”,没有任何更改。
我发现其他教程提到需要 jboss-web.xml 与 Dispatch.war 捆绑在一起的文件,因此我添加了一个准系统,如下所示:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
它没有影响我看到的行为。我还尝试将上下文根更改为 "DispatchServlet" 然后点击“http://localhost:8081/DispatchServlet”什么都不做。
有什么明显的我在胡闹吗?
我认为你把问题复杂化了。如果要部署多个 Web 应用程序,只需将 ear war 放入部署目录即可。当他们部署日志时显示他们的上下文路径,然后访问与该路径相关的任何内容,例如
/war1/DispatchServlet
/war2/DispatchServlet
如果使用不同的路径是不可接受的,那么为了按照您的尝试进行操作,您需要遵循说明如何使用 ROOT.war 文件的指南以及对 standalone-[=19 的相关更改=] 禁用内置默认值
我正在尝试将第二个 Web 应用程序部署到当前托管单个应用程序的 Wildfly 服务器。我对 standalone.xml 进行了以下修改(参见
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>
web.xml 已部署内容 Dispatch.war:
<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", but I get an HTTP 404 error. I've tried additionally with "http://localhost:8081/DispatchServlet”,没有任何更改。
我发现其他教程提到需要 jboss-web.xml 与 Dispatch.war 捆绑在一起的文件,因此我添加了一个准系统,如下所示:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
它没有影响我看到的行为。我还尝试将上下文根更改为 "DispatchServlet" 然后点击“http://localhost:8081/DispatchServlet”什么都不做。
有什么明显的我在胡闹吗?
我认为你把问题复杂化了。如果要部署多个 Web 应用程序,只需将 ear war 放入部署目录即可。当他们部署日志时显示他们的上下文路径,然后访问与该路径相关的任何内容,例如
/war1/DispatchServlet /war2/DispatchServlet
如果使用不同的路径是不可接受的,那么为了按照您的尝试进行操作,您需要遵循说明如何使用 ROOT.war 文件的指南以及对 standalone-[=19 的相关更改=] 禁用内置默认值