Как автоматически перейти к" моему веб-приложению "из контекста" root ( / ) " в JBoss?

Я использую JBoss 6.0 .

я развернул свое веб-приложение:myApp.уха в веб-контексте: "/испытания". Поэтому в браузере-url, если я наберу"http://localhost:8080/test/", Я получаю свою страницу входа (myLogin.JSP-страница.)

поскольку моя война существует внутри файла EAR, я указал корневой контекст в приложение.в XML С помощью контекст-root элемент внутри веб-модуля-т. е.

<module>
    <web>
        <web-uri>myWeb.war</web-uri>
        <context-root>/test</context-root>
    </web>
</module>

мой вопрос в том, как auto direct пользователь для моего веб-приложения из "корневого контекста"?

Я имею в виду, если пользователь "http://localhost:8080/", Я ожидал бы, что страница входа моего веб-приложения загрузится (вместо корня по умолчанию JBoss.индекс войны.HTML-страница.)

Я удалил существующий .HTML-код С {JBOSS}serverdefaultdeployROOT.война!--7--> и создал авторизоваться.jsp там. Теперь я вижу, что "вход.jsp " вызывается при вводе http://localhost:8080/. Но я не могу перенаправить запрос пользователя на страницу входа в мое веб-приложение.

в этом логине.jsp, я пробовал с: <jsp:forward page="/test" />, но я получаю ошибку: "HTTP Status 404 - / test".

Если я призываю как <jsp:forward page="/test/myLogin.jsp" /> Я все еще получаю ту же ошибку 404.

может ли кто-нибудь предложить, как добиться автоматического прямого доступа к моему веб-приложению из корневого контекста?

2 ответов


вам нужно сохранить индекс.html по умолчанию развертывает папку и перенаправляет запрос на веб-модуль.

хранить следующую строку только в индексе.HTML-код

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/test/"/> 

ответ от Senthil работает хорошо, но пользователь может видеть фактическое перенаправление, выполненное браузером (страница мигает). Перенаправление можно сделать также с помощью rewrite [1, 2] функциональность сервера JBoss, который поддерживает перенаправление HTTP с кодами 30x (без мигания).

вы можете либо добавить перезапись в приложение напрямую (web.xml, jboss-web.xml) и укажите правила перенаправления в rewrite.properties - здесь не показаны.

или вы можете измените конфигурацию сервера самостоятельно, не касаясь исходного приложения. Я нахожу это решение удобным, потому что приложение остается нетронутым.

Use case: мы используем это для EJBCA развертывание (не наше приложение), оно устанавливает его контекстный корень в /ejbca. Мы хотим сохранить процесс развертывания по умолчанию упакованы ant скрипт в то же время мы хотели бы добавить перенаправление из / to /ejbca как своего рода по умолчанию, для пользователя дружелюбие. Если пользователь хочет изменить его, это делается просто путем изменения standalone.xml без необходимости повторного развертывания всего приложения.

редактировать standalone.xml:

<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
    <virtual-server name="default-host" enable-welcome-root="true">
        <alias name="localhost"/>
        <rewrite pattern="^/$" substitution="/test" flags="L,QSA,R" />
    </virtual-server>
</subsystem>