gpt4 book ai didi

jboss - 如何自定义 JBoss AS7 404 页面

转载 作者:行者123 更新时间:2023-12-04 10:40:51 26 4
gpt4 key购买 nike

我已经在部署在 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 应用程序中的配置的一部分,您还将拥有:

  • 禁用 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)访问?。这样你也可以避免这个问题。

    我希望它有帮助!

    关于jboss - 如何自定义 JBoss AS7 404 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13476028/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com