Как автоматически перейти к" моему веб-приложению "из контекста" 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>