【发布时间】:2025-12-31 09:55:07
【问题描述】:
当我把它放在我的 JSP 的顶部时,我得到了导致转发到我的错误页面的 jsp 异常...
<%@ page errorPage="/error.page" %>
但是当我尝试像这样使用 web.xml 全局执行此操作时:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.page</location>
</error-page>
我只是得到一个空白页...我也尝试将 /error.jsp 放在位置元素中..但也不喜欢它..
我正在使用仅包含以下内容的 jsp 触发异常:
<%if(true)throw new RuntimeException("test exception");%>
我确实在 tomcat 的控制台中看到了异常,但是如果没有每个 jsp 上的指令,我就无法显示该错误页面...我在这里遗漏了一些简单的东西吗?
更新:
/error.page 被映射(使用spring)内容是这样的:
<%@ page isErrorPage="true"%>
<html>
<head></head>
<body>
<div class="error">
An error has occurred, the development team has been notified. Sorry for the inconvenience.
</div>
</body>
</html>
我可以直接点击页面没有错误。
更新:
如果您遇到此问题...请确保您的链中没有过滤器吞噬异常!请参阅下面的答案。
【问题讨论】:
-
顺便说一下我的错误答案很抱歉。我已经把它删了。我不知道我为什么发布它。我显然将它与
welcome-file的行为混淆了。哎呀,在我自己的项目中,我什至将错误页面映射到前端控制器 servlet。一定是星期五。 -
好的,回到您的问题:您的日志中是否也看到任何
IllegalStateException: response already comitted? -
发生在我们最好的人身上 :) 没有.. 日志中没有其他错误。
标签: java jsp servlets error-handling