Ami*_*atz 7 jboss http-status-code-404
我已经在JBoss AS 7.1中部署的Web应用程序中创建了一个自定义404页面.所以,如果我的应用程序在fubar dot com:8080/Myapp,我去fubar dot com:8080/Myapp/xyzzy,我得到自定义错误页面(在web应用程序的web.xml文件中定义).
但是,当我去fubar dot com:8080/xyzzy时,JBoss会显示默认的404页面,它显示它是JBoss和JBoss版本.
我需要替换此页面才能隐藏此信息.
请指教.
如果你想自定义JBoss 7中所有其他上下文的错误页面,这是Myapp应用程序中的一部分配置,你还可以:
Run Code Online (Sandbox Code Playgroud)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>
Run Code Online (Sandbox Code Playgroud)
在jboss-web.xml中将context-root定义为'/',因此它将是:
<jboss-web>
<context-root>/</context-root>
</jboss-web>
Run Code Online (Sandbox Code Playgroud)
文件404.html是您自定义的html错误页面,Jboss将显示而不是404默认错误.总而言之,在JBoss 7中部署此应用程序,当您访问fubar dot com:8080/yzyqqa或其他任何根上下文时,您将拥有自定义404错误页面.请记住,您还必须将错误配置保留在Myapp web.xml中(以及您可能在服务器中部署的所有其他应用程序中).
顺便说一句,您是否考虑过直接从fubar dot com:8080访问您的应用Myapp?或者甚至更好,使jboss服务器只能从代理(例如Apache)访问?这样你也可以避免这个问题.
我希望它有所帮助!