我正在使用 JBoss 6.0 。
我已经部署了我的 Web 应用程序: myApp.ear 在网络上下文下:“/test ”。
因此,如果我在浏览器 URL 中输入“http://localhost:8080/test/”,我会得到我的登录页面 (myLogin.jsp)。
由于我的 WAR 存在于 EAR 文件中,因此我在 中指定了上下文根。应用程序.xml 使用 的文件上下文根 Web 模块内的元素 - 即
<module>
<web>
<web-uri>myWeb.war</web-uri>
<context-root>/test</context-root>
</web>
</module>
我的问题是如何 自动直通用户从“根上下文”访问我的网络应用程序?
我的意思是如果用户输入“http://localhost:8080/”,我希望我的 web 应用程序的登录页面能够加载(而不是 JBoss 的默认 ROOT.war 的 index.html 页面)。
我删除了现有的 index.html 来自 {JBOSS}\server\default\deploy\ROOT.war 并在那里创建了一个 login.jsp。现在我可以看到当我输入 http://localhost:8080/ 时“login.jsp”被调用了。 .但我无法将用户请求重定向到我的网络应用程序的登录页面。
在那个 login.jsp 中,我尝试过:
<jsp:forward page="/test" />
,但我收到错误:“HTTP 状态 404 -/test”。如果我像
<jsp:forward page="/test/myLogin.jsp" />
这样调用我仍然收到相同的 404 错误。有人可以建议如何从根上下文自动定向到我的网络应用程序吗?
最佳答案
您需要将 index.html 保留在默认部署文件夹中并将请求转发到您的 Web 模块。
例如,仅在 index.html 中保留以下行
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/test/"/>
关于redirect - 如何在 JBoss 中从 "my web application"上下文自动定向到 "root (/)"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5709223/