这是我的try-catch块:

try {
    return dbConnection.createStatement();
} catch(SQLException sqle) {
    // TODO SQL Exception
    System.out.println(sqle.getMessage());
}


在Servlet中使用System.out对象是否正确?

调试目的最简单的方法是什么?

我希望将消息打印在服务器生成的错误页面中,例如:HTTP Status 500

最佳答案

在servlet中使用System.out是不正确的。一种选择是使用RequestDispatcher简单地转发到错误页面:

  RequestDispatcher rd = getServletContext().getRequestDispatcher("/error.jsp");
  rd.forward(request, response);


另外,您可以在转发到错误页面之前将异常对象存储在请求范围中,以便自定义错误。

 try {
   return dbConnection.createStatement();
 }   catch(SQLException sqle) {
    // TODO SQL Exception
    request.setAttribute("ex", sqle);
    RequestDispatcher rd = getServletContext().getRequestDispatcher("/error.jsp");
    rd.forward(request, response);
  }


然后可以在error.jsp上接受该异常并打印出一些详细信息。

关于java - 如何记录和查看Servlet中try-catch块捕获的消息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11724678/

10-12 05:33