我在 JBOSS 中部署了一个应用程序,它的访问方式为: localhost/appname 当我只输入 IP 地址时,我会被重定向到 JBOSS 默认页面。有没有一种无需提供 /appname 即可访问应用程序主页的方法?
我希望这个问题很清楚。提前致谢。
我在 JBOSS 中部署了一个应用程序,它的访问方式为: localhost/appname 当我只输入 IP 地址时,我会被重定向到 JBOSS 默认页面。有没有一种无需提供 /appname 即可访问应用程序主页的方法?
我希望这个问题很清楚。提前致谢。
您必须将应用程序部署在名为“ROOT.war”的文件中。您还必须删除部署目录中现有的 ROOT.war。
作为 Nightsorrow 提供的解决方案的一部分,您还可以使用 WEB-INF/jboss-web.xml 文件的 context-root 标记定义 Web 应用程序的上下文根。因此将其定义为'/',您可以保留原始文件名。这样您就可以覆盖 JBoss 的默认行为,即将 Web 应用程序的上下文根定义为应用程序的文件名(除非应用程序名称是 ROOT.war,其默认上下文是“/”)。
所以 jboss-web.xml 文件看起来类似于:
<jboss-web>
... other tags ...
<context-root>/</context-root>
... other tags ...
</jboss-web>
请注意,不能有两个应用程序具有相同的上下文根,因此首先您必须删除 ROOT.war,或者按照相同的过程更改其上下文根:
<context-root>/oldRoot</context-root>
,这将使旧的 ROOT.war 应用程序可以通过 localhost/oldRoot 使用),或者如果您想部署一个内部带有 web 模块 (war) 的 EAR 文件(而不仅仅是一个普通的 war 文件),您必须使用 EAR 的 META-INF/application.xml。以这种方式定义 Web 模块:
<application>
... other tags and other modules (ejb, web ...) ...
<module>
<web>
<web-uri>nameOfYourWarFile.war</web-uri>
<context-root>/</context-root>
</web>
</module>
... other tags and other modules (ejb, web ...) ...
</application>
我正在使用eap6。这是我第一次使用jboss。我没有看到我有 $JBOSS_HOME/server。我看到了 $JBOSS_HOME/domain/server。我已经搜索了 $JBOSS_HOME 下的所有文件。我找不到任何 WEB-INF 和 jboss-web.xml