0

これが私のtry-catchブロックです:

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

System.outサーブレットでオブジェクトを使用するのは正しいですか?

デバッグ目的で最も簡単な方法は何ですか?

サーバーによって生成されたエラーページにメッセージを出力したかったのですHTTP Status 500

4

2 に答える 2

3

ユーザーはほとんどの場合、実際のエラーが何であるかを気にしたり、理解したりしません。代わりに、一般的で活発なエラー ページを表示し、log4j などを使用して実際のエラーをログに記録します。

于 2012-07-30T13:19:38.060 に答える
2

サーブレットで System.out を使用するのは正しくありません。1 つのオプションは、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 に答える