java - 将另一个 servlet 部署到 wildfly 实例
问题描述
我正在尝试将第二个 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:8081/DispatchServlet ”,没有任何变化。
我发现其他教程提到需要一个与 Dispatch.war 捆绑在一起的 jboss-web.xml 文件,所以我添加了一个看起来像这样的准系统:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
它并没有影响我所看到的行为。我还尝试将 context-root 更改为“DispatchServlet”,然后点击“ http://localhost:8081/DispatchServlet ”。
有什么明显的我在胡说八道吗?
解决方案
我认为你把问题复杂化了。如果您想部署多个 Web 应用程序,只需在部署目录中放置耳战。当他们部署日志时会显示他们的上下文路径,然后访问与该路径相关的任何内容,例如
/war1/DispatchServlet /war2/DispatchServlet
如果使用不同的路径是不可接受的,那么为了按照您的尝试进行操作,您需要按照说明如何使用 ROOT.war 文件以及对standalone-full.xml 的相关更改来禁用内置默认值的指南进行操作
推荐阅读
- python - 通过骆驼进行 Yaml 序列化:在装饰器中使用基类加载/转储和访问类型(自我)
- filter - 从每个用户的获取日期开始的自定义周数
- vue.js - NeDB(使用 Vue-Electron)无法保存本地数据库文件
- python - 如何模拟第三方导入以运行单元测试
- c# - 如何使用 short 类型的枚举使 Swagger 工作?
- android - 获取服务中的活动
- javascript - 遍历 dom 从具有 id 和 class 的单击元素中获取
- java - 分配一个char变量两个值?
- laravel - 在一个循环中结合两个变量 laravel
- bazel - 如何将 java_binary 生成的可执行包装器传递给 ctx.actions.run