Tomcatでのエラー検出
2008.03.24 Monday 15:19
基本的には
と書くと思うのですが、各エラーのJSPページ(HTMLページ)を一つのJSPで書くには
として、error.jspファイルを以下のように設定します。
…かなり、自分メモだな…
ステータスコードについてはコチラを参照。
<error-page>
<error-code>403</error-code>
<location>/403error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404error.jsp</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/405error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500error.jsp</location>
</error-page>
と書くと思うのですが、各エラーのJSPページ(HTMLページ)を一つのJSPで書くには
<error-page>
<error-code>403</error-code>
<location>/srverror.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/srverror.jsp</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/srverror.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/srverror.jsp</location>
</error-page>
として、error.jspファイルを以下のように設定します。
<html>
<head>
<title>エラー画面</title>
</head>
<body>
<!-- サーブレットエラー -->
<%
// ErrorDataクラスを介してエラー情報を出力
ErrorData err = pageContext.getErrorData();
// ステータスコードの取得
int statusCode = err.getStatusCode();
%>
<p>
<font size='5'> エラー画面</font>
</p>
<b>リクエストURI:</b><br>
<%= err.getRequestURI() %><br>
<br>
<b>ステータスコード:</b><br>
<%= statusCode %><br>
<br>
<b>エラーメッセージ:</b><br>
<%
if(statusCode == 403) {
out.print("サーバはリクエストを理解したが、そのリクエストの実行を拒否しました。");
} else if(statusCode == 404) {
out.print("指定したページが見つかりません。");
} else if(statusCode == 405) {
out.print("指定したメソッドは、このURLではサポートされていません。");
} else if(statusCode == 500) {
out.print("サーバ内部に問題が発生しました。");
}
%><br><br>
<%= (String)request.getAttribute("javax.servlet.error.message") %><br>
<br>
</body>
</html>
…かなり、自分メモだな…
ステータスコードについてはコチラを参照。

Comments