程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了用应用程序主页替换 JBoss 主页大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决用应用程序主页替换 JBoss 主页?

开发过程中遇到用应用程序主页替换 JBoss 主页的问题如何解决?下面主要结合日常开发的经验,给出你关于用应用程序主页替换 JBoss 主页的解决方法建议,希望对你解决用应用程序主页替换 JBoss 主页有所启发或帮助;

我有部署在 JBoss 服务器上的 Web 应用程序。访问 url 时,我看到 Jboss 欢迎页面

用应用程序主页替换 JBoss 主页

现在我必须添加 WAR 名称 /test 才能访问 url 的主页。 但我想访问主页而不将 /test 附加到 url。

我有 web.xml 和 jboss-deployment-structure.xml。

我尝试将 jboss-web.xml 添加到解决方案中,但这导致部署失败。

我也尝试将 war 命名为 ROOT,但这也导致部署失败。

我正在使用 openshift 创建构建和部署应用程序

web.xml 的片段

<display-name>aad</display-name>     

<servlet>
    <servlet-name>test</servlet-name>
    <servlet-class>org.springframework.web.servlet.dispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLOCATIOn</param-name>
         <param-value>/WEB-INF/classes/aad-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>test</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

jboss-deployment-structure.xml 的 SNIP

<?xml version="1.0" enCoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
    <exclude-subsystems>
        <subsystem name="jpa" />
    </exclude-subsystems>
   <!--  <exclusions>
        WFCORE-209 workaround
        <module name="javaee.API" /> 
        <module name="javax.persistence.API" />
        <module name="org.hibernate" />
    </exclusions> -->
    <dependencIEs>
        <!-- WFCORE-209 workaround -->
        <module name="javax.activation.API" export="true"/>
        <module name="javax.Annotation.API" export="true"/>
        <module name="javax.ejb.API" export="true"/>
        <module name="javax.el.API" export="true"/>
        <module name="javax.enterprise.API" export="true"/>
        <!-- <module name="javax.enterprise.deploy.API" export="true"/> -->
        <module name="javax.inject.API" export="true"/>
        <module name="javax.interceptor.API" export="true"/>
        <module name="javax.jms.API" export="true"/>
        <module name="javax.jws.API" export="true"/>
        <module name="javax.mail.API" export="true"/>
        <module name="javax.management.j2ee.API" export="true"/>
        <!-- <module name="javax.persistence.API" export="true"/> -->
        <module name="javax.resource.API" export="true"/>
        <module name="javax.rmi.API" export="true"/>
        <module name="javax.security.auth.message.API" export="true"/>
        <module name="javax.security.jacc.API" export="true"/>
        <module name="javax.servlet.API" export="true"/>
        <module name="javax.servlet.Jsp.API" export="true"/>
        <module name="javax.transaction.API" export="true"/>
        <module name="javax.valIDation.API" export="true"/>
        <module name="javax.ws.rs.API" export="true"  services="export"/>
        <module name="javax.xml.bind.API" export="true"/>
       <!--  <module name="javax.xml.registry.API" export="true"/> -->
        <module name="javax.xml.soap.API" export="true"/>
        <module name="javax.xml.ws.API" export="true"/>

        <!-- This one always goes last. -->
        <module name="javax.API" export="true"/> 
    </dependencIEs>
</deployment>

解决方法

要在根上下文路径下部署应用程序,您应该将上下文路径设置为空路径。默认情况下,上下文路径是应用程序名称。显式指定上下文路径的一种方法是包含一个 WEB-INF/jboss-web.xml 文件:

<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLscheR_673_11845@a-instance"
           xsi:scheR_673_11845@aLOCATIOn="
      http://www.jboss.com/xml/ns/javaee
      http://www.jboss.org/j2ee/scheR_673_11845@a/jboss-web_5_1.xsd">
    <context-root>/</context-root>
</jboss-web>

此外,您需要确保没有现有应用程序部署在根上下文路径下。为此,请从 jboss 配置中删除welcome-content 处理程序。例如在 standalone.xml 中删除 <LOCATIOn name="/" handler="welcome-content"/> from:

            <server name="default-server">
                <http-listener name="default" socket-binding="http" redirect-so$
                <https-listener name="https" socket-binding="https" security-re$
                <host name="default-host" alias="localhost">
                    <LOCATIOn name="/" handler="welcome-content"/>
                    <http-invoker security-realm="ApplicationRealm"/>
                </host>
            </server>

大佬总结

以上是大佬教程为你收集整理的用应用程序主页替换 JBoss 主页全部内容,希望文章能够帮你解决用应用程序主页替换 JBoss 主页所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。