Java 模块包括ibm-web-bnd.xml和ibm-web-ext.xml文件。当401、404等错误发生时,如何显示Error.jsp文件?
我正在开发一个包含以下模块的应用程序 我正试图显示一个错误页面作为CWE 345的修复。 我已经尝试将ErrorPage和web.xml添加到web-INF中,该web-INF在发生错误时调用ErrorPage.jspJava 模块包括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
<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
文件。如果是,那么它在语法上是不正确的。您需要关闭
标记。