0

我正在构建一个简单的 Web 应用程序。在我的doPost()方法中,当我转发到 JSP 时,如果发生 ServletException,我会抛出ServletException。在我的 web.xml 文件中,我声明了一个错误页面来捕获 500 错误。该应用程序在我的 GlassFish 服务器上运行良好,但是当我部署到 Tomcat 服务器时,我被定向到了我的问题.jsp 页面。如何获得有关错误原因的一些详细信息?

这是我在web.xml中配置的错误页面的方式:

<error-page>
    <error-code>500</error-code>
    <location>/problem.jsp</location>
</error-page>
4

1 回答 1

1

您的 question.jsp 可以访问此请求属性,以向您提供有关异常性质的提要:

  • javax.servlet.error.exception

您可以按如下方式使用它们:

    public void doPost(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
     {      
         Throwable throwable = (Throwable) request.getAttribute("javax.servlet.error.exception");
     }

之后您可以通过执行以下操作来监视异常的类型:

PrintWriter out = response.getWriter();
out.println("Exception Type : " +  throwable.getClass( ).getName( ));

资源

您可以在此网页上了解更多信息。您会发现一些其他属性,您需要检查有关错误的详细信息。

于 2013-08-11T20:30:35.383 回答