Cosminexus システム構築ガイド
存在しないリソースへのアクセスなどのエラーが発生したときに,エラーステータスコードが表示されたエラーページの代わりにユーザが作成したエラーページをクライアントに表示させることができます。インプロセスHTTPサーバによるエラーページのカスタマイズを利用することで,特定のステータスコードに対応するエラーページのカスタマイズや,リクエストURLに対応するエラーページのカスタマイズをWebコンテナ単位にまとめて制御できます。また,次に示すようなWebアプリケーションによるエラーページのカスタマイズが実行できない場合でも,エラーページをカスタマイズできます。
インプロセスHTTPサーバが返すエラーステータスコードを次の表に示します。
表8-1 インプロセスHTTPサーバが返すエラーステータスコード
| エラーステータスコード | 説明句 | エラーの発生条件 |
|---|---|---|
| 400 | Bad Request |
|
| 405 | Method Not Allowed |
|
| 413 | Request Entity Too Large |
|
| 414 | Request-URI Too Long |
|
| 500 | Internal Server Error |
|
| 501 | Not Implemented |
|
| 503 | Service Unavailable |
|
インプロセスHTTPサーバによるエラーページのカスタマイズを実行する場合,javax.servlet.http.HttpServletResponseインタフェースのsendErrorメソッドを使用してレスポンスのステータスコードを設定する必要があります。なお,setStatusメソッドを使用した場合(JSPでsetStatusメソッドを使用した場合など),インプロセスHTTPサーバによるカスタマイズが実行されないことがあります。ただし,sendErrorメソッドを使用しても,Webアプリケーションが次に示すどちらかの条件に該当する場合,インプロセスHTTPサーバによるエラーページのカスタマイズは実行されません。
エラーページのカスタマイズは,簡易構築定義ファイルで設定します。論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,次のパラメタを設定してください。
エラーページのカスタマイズの設定例を次に示します。
: <param> <param-name>webserver.connector.inprocess_http.error_custom.list</param-name> <param-value>ERR_CUSTOM_1,ERR_CUSTOM_2</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.ERR_CUSTOM_1.status</param-name> <param-value>404</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.ERR_CUSTOM_1.file</param-name> <param-value>C:/data/404.html</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.ERR_CUSTOM_1.file.content_type</param-name> <param-value>text/html; charset=ISO-8859-1</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.ERR_CUSTOM_2.status</param-name> <param-value>503</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.ERR_CUSTOM_2.redirect_url</param-name> <param-value>http://host1/503.html</param-value> </param> <param> <param-name>webserver.connector.inprocess_http.error_custom.ERR_CUSTOM_2.request_url</param-name> <param-value>/dir1/*</param-value> </param> : |
この設定例では,エラーページのカスタマイズ定義名として,「ERR_CUSTOM_1」と「ERR_CUSTOM_2」を使用しています。「ERR_CUSTOM_1」では,レスポンスのステータスコードが「404」の場合には,「C:/data/404.html」をクライアントに返します。Content-Typeヘッダの値は,「text/html; charset=ISO-8859-1」を使用します。また,「ERR_CUSTOM_2」では,リクエストが「/dir1/」から始まるURLで,レスポンスのステータスコードが「503」の場合に,「http://host1/503.html」にリダイレクトします。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.