Корневой контекст с веб-приложением JSF 2.3 на GlassFish 5

Мне трудно настроить контекст-корень для моего веб-приложения, состоящего из двух артефактов, веб-архива и EJB.jar (XYZ_war.war и XYZ_ejb.jar).

Я могу без проблем получить доступ к приложению, используя localhost/XYZ
(или на удаленном сервере, используя www.domain.xy/XYZ)

но

с localhost
(или www.domain.xy)

отображается веб-сайт по умолчанию Glassfish из каталога docroot («Ваш сервер сейчас работает...»)

Я выполняю развертывание с помощью консоли веб-администратора GlassFish. Все мои поиски здесь или где-то еще не помогли. Что мне не хватает?

Любая помощь приветствуется. Спасибо!

стеклянная рыба-web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish 
Application Server 3.1 Servlet 3.0//EN" 
"http://glassfish.org/dtds/glassfish-web-app
<network-listeners>
    ...
    <network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp">
    ... 
</networklistener>
...
<applications>
    <application context-root="/XYZ" object-type="user" name="XYZ_war" location="${com.sun.aas.instanceRootURI}/applications/XYZ_war/">
        ...
    </application>
    <application object-type="user" name="XYZ_ejb" location="${com.sun.aas.instanceRootURI}/applications/XYZ_ejb/">
        ...
    </application>
</applications>
0-1.dtd"> <glassfish-web-app> <context-root>/XYZ</context-root> </glassfish-web-app>

веб.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
http://xmlns.jcp.org/xml/ns/javaee/web-app
<network-listeners>
    ...
    <network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp">
    ... 
</networklistener>
...
<applications>
    <application context-root="/XYZ" object-type="user" name="XYZ_war" location="${com.sun.aas.instanceRootURI}/applications/XYZ_war/">
        ...
    </application>
    <application object-type="user" name="XYZ_ejb" location="${com.sun.aas.instanceRootURI}/applications/XYZ_ejb/">
        ...
    </application>
</applications>
1.xsd" id="WebApp_ID" version="3.1"> <display-name>XYZ</display-name> <welcome-file-list> <welcome-file>index.xhtml</welcome-file> </welcome-file-list> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> <session-config> <session-timeout>15</session-timeout> </session-config> </web-app>

домен.xml:

<network-listeners>
    ...
    <network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp">
    ... 
</networklistener>
...
<applications>
    <application context-root="/XYZ" object-type="user" name="XYZ_war" location="${com.sun.aas.instanceRootURI}/applications/XYZ_war/">
        ...
    </application>
    <application object-type="user" name="XYZ_ejb" location="${com.sun.aas.instanceRootURI}/applications/XYZ_ejb/">
        ...
    </application>
</applications>

person Ingi from INGiSOFT    schedule 31.03.2018    source источник


Ответы (1)


Итак, если я правильно понимаю, вы устанавливаете context-root на /XYZ и ожидаете, что это будет /? Как насчет того, чтобы установить его на /?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish 
Application Server 3.1 Servlet 3.0//EN" 
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <context-root>/</context-root>
</glassfish-web-app>

Повеселись :)

person unwichtich    schedule 03.04.2018
comment
Большое спасибо за попытку помочь. Я изменил контекст-корень в Glassfish-web.xml, как вы предложили. К сожалению, он по-прежнему не работает (по-прежнему отображается страница приветствия GlassFish). - person Ingi from INGiSOFT; 04.04.2018
comment
Наконец решено. Я нашел решение здесь, на Stackoverflow. stackoverflow.com/questions/41585188/ Спасибо! - person Ingi from INGiSOFT; 09.04.2018