0

这是我的 try-catch 块:

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

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

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

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

4

2 回答 2

3

用户很可能不关心也不理解实际错误是什么。相反,显示一个通用但生动的错误页面,并使用类似 log4j 的东西记录实际错误。

于 2012-07-30T13:19:38.060 回答
2

在 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 上,您可以处理该异常并打印出一些详细信息。

于 2012-07-30T15:37:14.290 回答