ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

7.4.4 HTTPエラーステータスコードに対するエラーページの指定について

ここでは、HTTPエラーステータスコードに対するエラーページの指定箇所と使用されるエラーページについて説明します。

HTTPエラーステータスコードに対するエラーページの指定箇所について

HTTPエラーステータスコードに対するエラーページの指定箇所を以下に示します。

どの指定箇所で指定したエラーページが使用されるかは、問題の発生箇所により異なります。必要に応じてエラーページの表示内容を変更または統一してください。

Webアプリケーション環境定義ファイル(deployment descriptor)

<error-page>タグで指定します。指定方法については“7.5 Webアプリケーション環境定義ファイル(deployment descriptor)”を参照してください。
本エラーページはWebアプリケーションで発生したHTTPエラーステータスコードに対して有効です。
HTTPエラーステータスコードに該当するエラーページを指定していない場合は、Servletコンテナによってデフォルトのエラーページが使用されます。
本エラーページが使用される場合、HTTPステータスコードは変更されません。例えばExceptionに対するerror-pageを設定した場合、HTTPステータスコードは、500となります。
なお、Webブラウザにレスポンスヘッダが送信済みの場合は、送信済みの情報は取り戻すことはできないので、送信済みのHTTPステータスコードになります。

Webサーバの環境設定

以下の場合は、Servletサービスに制御が渡らないためWebサーバの環境設定で指定したエラーページが使用されます。

  • リクエストURLに含まれるWebアプリケーション識別子に誤りがある

  • Webアプリケーションへのリクエストではない

以下のHTTPエラーステータスコードを例に、各指定箇所で指定したエラーページが使用される場合の説明をします。

HTTPエラーステータスコード 404(Not Found)
  • Webアプリケーション環境定義ファイルで指定したエラーページが使用される場合

    • Webアプリケーション配下のコンテンツが存在しない場合

    • アプリケーションがServlet APIでHTTPエラーステータスコードに404を設定した場合

  • Webサーバのエラーページが使用される場合

    • リクエストURLに含まれるWebアプリケーション識別子に誤りがある場合

    • Webアプリケーションへのリクエストではなく、Webサーバ上にコンテンツが存在しない場合

HTTPエラーステータスコード 500(Internal Server Error)
  • Webアプリケーション環境定義ファイルで指定したエラーページが使用される場合

    • サーブレットまたはJSPアプリケーション実行中にExceptionまたはErrorが発生した場合
      注)アプリケーション内で発生したエラーを捕捉(catch)したり、JSPのエラーページを設定するなどし、明示的にエラーハンドリングして正常動作させている場合を除きます。

    • アプリケーションがServlet APIでHTTPエラーステータスコードに500を設定した場合

  • Webサーバのエラーページが使用される場合

    以下の場合に使用されることがあります。

    • Webサーバコネクタで異常を検出した場合
      例:IJServerに接続できない場合
          Webサーバコネクタのタイムアウトが発生した場合

注意

Webブラウザの種類や設定によっては意図したエラーページが表示されず、Webブラウザで用意されたエラーページが表示されることがあります。

  • 例:Microsoft(R) Internet Explorer 5.x, 6.0
    「ツール」→「インターネット オプション」→「詳細設定」→「HTTP エラー メッセージを簡易表示する」が有効 (デフォルト値)の場合。