java - 通过 RequestDispatcher 检测 JSP 页面中的异常

标签 java jsp servlets

我有一个指定了错误页面的 JSP 页面。我通过以下方式从 servlet 调用页面:

RequestDispatcher rd = ctx.getRequestDispatcher( jspPage );
rd.include( req, res );

如何检测jsp页面是否转发到错误页面?我想以不同的方式处理异常,但没有抛出异常。不幸的是,我无法修改 JSP 页面本身或错误页面。

编辑:

我在想这样的事情可能会在 include() 行之后起作用,有什么想法吗?

Object errorServletName = req.getAttribute( "javax.servlet.error.servlet_name" );
if ( errorServletName != null ) 
{ there was an error in the JSP... }

最佳答案

将此添加到您的 web.xml 文件中:

<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/error.html</location>
</error-page>

假设您有堆栈跟踪打印输出或类似的方式来通知用户他们在 error.html 页面上遇到的问题。

关于java - 通过 RequestDispatcher 检测 JSP 页面中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4608307/

相关文章:

tomcat - Web 描述符中 web-app 中的版本属性是否影响实际使用的 Servlet API 版本?

java - 使用标签数组在框架中添加标签时出现空指针异常

java - 如何使用Java知道当前年份中的当前日期?

jsp - 如何响应 JSP Servlet 请求的自定义字符串

java - Eclipse 中的 Spring 项目 - 404

javascript - AJAX打开不接受Servlet

java - Tomcat 保持 webapp api 运行

java - Hibernate HQL 错误 - 意外标记 :

java - 如何防止Spring MVC参数在 "."之后被截断

javascript - 切换复选框时无法启用/禁用文本框