public class HttpErrorHandler extends java.lang.Object implements HttpRequestHandler
HttpResponse/HttpErrorResponse のHTTPエラーコードに対応した エラー画面に遷移させる。 また、実行時例外を捕捉し、システムエラー画面に遷移させる。
| 修飾子とタイプ | フィールドと説明 |
|---|---|
protected java.util.regex.Pattern |
writeFailureLogPattern
Result.Errorの中で障害通知ログを出力する対象を表すステータスコード |
| コンストラクタと説明 |
|---|
HttpErrorHandler() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
ResourceLocator |
getDefaultPageFor(int statusCode)
指定されたステータスコードに対するデフォルトページのコンテンツパスを返す。
|
HttpResponse |
handle(HttpRequest req,
ExecutionContext ctx)
HTTPリクエストに対する処理を実行する。
|
HttpErrorHandler |
setDefaultPage(java.lang.String statusCode,
java.lang.String contentPath)
レスポンスステータスコードごとのデフォルトページを設定する。
|
HttpErrorHandler |
setDefaultPages(java.util.Map<java.lang.String,java.lang.String> defaultPages)
レスポンスステータスコードごとのデフォルトページを設定する。
|
void |
setWriteFailureLogPattern(java.lang.String writeFailureLogPattern)
handle(nablarch.fw.web.HttpRequest, nablarch.fw.ExecutionContext)で、Result.Errorを補足した際に、
障害通知ログを出力する必要のあるステータスコードを正規表現で設定する。 |
protected java.util.regex.Pattern writeFailureLogPattern
Result.Errorの中で障害通知ログを出力する対象を表すステータスコードpublic HttpResponse handle(HttpRequest req, ExecutionContext ctx)
handle インタフェース内 Handler<HttpRequest,HttpResponse>handle インタフェース内 HttpRequestHandlerreq - HTTPリクエストオブジェクトctx - サーバサイド実行コンテキストオブジェクトpublic HttpErrorHandler setDefaultPage(java.lang.String statusCode, java.lang.String contentPath)
// デフォルトページ定義
setDefaultPage("303", "file:///www/docroot/redirecting.html");
setDefaultPage("4..", "servlet://jsp/errors/userError.jsp");
setDefaultPage("5..", "servlet://jsp/errors/systemError.jsp");
デフォルトページの設定を行わない場合、
web.xmlに定義されているエラーページに遷移する。statusCode - ステータスコードのパターンcontentPath - デフォルトページのコンテンツパスpublic HttpErrorHandler setDefaultPages(java.util.Map<java.lang.String,java.lang.String> defaultPages)
defaultPages - デフォルトページ設定public ResourceLocator getDefaultPageFor(int statusCode)
statusCode - ステータスコードpublic void setWriteFailureLogPattern(java.lang.String writeFailureLogPattern)
handle(nablarch.fw.web.HttpRequest, nablarch.fw.ExecutionContext)で、Result.Errorを補足した際に、
障害通知ログを出力する必要のあるステータスコードを正規表現で設定する。
ここで設定した正規表現が、Result.Error.getStatusCode()にマッチした場合のみ、
障害通知ログが出力され障害として検知される。
なお、本設定を省略した場合のデフォルト動作では、5([1-9][0-9]|0[012456789])に一致するステータスコードが障害通知ログの出力対象となる。writeFailureLogPattern - 障害通知対象のステータスコードを表す正規表現