我正在开发一个应用程序,它有一个包含以下内容的模块
ibm-web-bnd.xml and ibm-web-ext.xml files
我正在尝试显示一个错误页面作为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>这不起作用。我还尝试将上述代码添加到ibm-web-bnd.xml和ibm-web-ext.xml文件中。我试过了
<application location="Parent.ear">
<web-ext moduleName="public" default-error-page="ErrorPage.jsp"/>
</application>没有一样东西起作用。
任何关于如何让错误页面显示上述模块的建议都将不胜感激。
更新:我已经输入了,但没有正确输入,代码片段忽略了它。
发布于 2020-03-03 17:13:51
我找到了这个问题的解决方案。模块中的pom文件忽略了WEB-INF文件夹中的所有内容。我认为这个模块根本没有被使用,但是当我移除它时,应用程序就不能工作了。解决方案是忽略WEB-INF中除web.xml文件以外的所有内容。这解决了问题。
发布于 2020-02-24 18:54:49
在我看来,似乎你做的每件事都是正确的。在我看来唯一不正确的事情是您没有关闭<web-app>标记。尝试用</web-app>结束标记
另外,请记住,您可以直接从JSP页面内部声明JSP页面错误页面。
<%@ page isErrorPage="true"%>然后,您可以使用此页面指令将您的用户转到该页面:
<%@ page errorPage="error.jsp"%>https://stackoverflow.com/questions/60373038
复制相似问题