如果您想为 JBoss 7 中的所有其他上下文自定义错误页面,这是您在 Myapp 应用程序中配置的一部分,您还将拥有:
- 禁用 JBoss 欢迎页面:在文件 Standalone/configuration/standalone.xml(或 domain/configuration/domain.xml)中,将属性 enable-welcome-root 设置为 false(默认为 true)
- 然后,您必须部署一个简单的war 文件,将其上下文根设置为“/”,并为该war 定义错误页面(使用与Myapp 相同的方法)。因此,war 结构应该类似于(error.war 名称是任意的):
error.war
|
|- META-INF
|- WEB-INF
| |
| |- web.xml
| |- jboss-web.xml
|
|- error
|- 404.html
web.xml 文件在哪里:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>yourcompanyname</display-name>
<error-page>
<error-code>404</error-code>
<location>/error/404.html</location>
</error-page>
</web-app>
在 jboss-web.xml 中将上下文根定义为“/”,所以它是:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
文件 404.html 是 Jboss 将显示的自定义 html 错误页面,而不是 404 默认错误。就是这样,在 JBoss 7 中部署这个应用程序,当您访问 fubar dot com:8080/yzyqqa 或任何其他根上下文时,您将拥有自定义的 404 错误页面。请记住,您还必须将错误配置保留在 Myapp web.xml 中(以及在所有其他应用程序中,您可能会在服务器中部署)。
顺便说一句,您是否考虑过让您的应用 Myapp 可以直接从fubar dot com:8080访问?或者更好的是,让 jboss 服务器只能从代理(例如 Apache)访问?这样你也可以避免这个问题。
我希望它有帮助!