Java 模块包括ibm-web-bnd.xml和ibm-web-ext.xml文件。当401、404等错误发生时,如何显示Error.jsp文件?

Java 模块包括ibm-web-bnd.xml和ibm-web-ext.xml文件。当401、404等错误发生时,如何显示Error.jsp文件?,java,websphere,Java,Websphere,我正在开发一个包含以下模块的应用程序 我正试图显示一个错误页面作为CWE 345的修复。 我已经尝试将ErrorPage和web.xml添加到web-INF中,该web-INF在发生错误时调用ErrorPage.jsp <web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xs

我正在开发一个包含以下模块的应用程序

我正试图显示一个错误页面作为CWE 345的修复。 我已经尝试将ErrorPage和web.xml添加到web-INF中,该web-INF在发生错误时调用ErrorPage.jsp

<web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <error-page>
        <!-- Missing login -->
        <error-code>401</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Forbidden directory listing -->
        <error-code>403</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Missing resource -->
        <error-code>404</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Uncaught exception -->
        <error-code>500</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    <error-page>
        <!-- Unsupported servlet method -->
        <error-code>503</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
</web-app>

401
/ErrorPage.jsp
403
/ErrorPage.jsp
404
/ErrorPage.jsp
500
/ErrorPage.jsp
503
/ErrorPage.jsp
这不起作用。 我还尝试将上述代码添加到ibm-web-bnd.xml和ibm-web-ext.xml文件中。 我试过了

<application location="Parent.ear">
    <web-ext moduleName="public" default-error-page="ErrorPage.jsp"/>
</application>

什么都没起作用

如果您对如何为上述模块显示错误页面有任何建议,我们将不胜感激

更新:
我输入了,但没有正确输入,代码段忽略了它。

从我的角度看,看起来您做的每件事都是正确的。在我看来唯一不正确的是您没有关闭
标记。尝试用

另外,请记住,您可以直接从JSP页面内部声明JSP页面错误页面

<%@ page isErrorPage="true"%>

然后,您可以使用此页面指令将用户转发到该页面:

<%@ page errorPage="error.jsp"%>

我找到了这个问题的解决方案。 模块中的pom文件忽略了WEB-INF文件夹中的所有内容。 我认为该模块根本没有被使用,但当我删除它的应用程序没有工作。 解决方案是忽略WEB-INF中除了WEB.xml文件以外的所有内容。
这解决了问题。

这可能是一个愚蠢的观察结果-但您没有说明这是否是整个
web.xml
文件。如果是,那么它在语法上是不正确的。您需要关闭
标记。