Package nablarch.fw.web.handler
Class HttpResponseHandler
java.lang.Object
nablarch.fw.web.handler.HttpResponseHandler
- All Implemented Interfaces:
Handler<HttpRequest,HttpResponse>
ServletAPIを通じてHTTPレスポンス処理を行うハンドラ。
- Author:
- Iwauo Tajima <iwauo@tis.co.jp>, Masato Inoue
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionhandle(HttpRequest req, ExecutionContext ctx) 入力データに対する処理を実行する。protected booleanレスポンスがエラーか否かを判定する。voidsetContentPathRule(ResourcePathRule contentPathRule) 言語対応コンテンツパスのルールを設定する。voidsetConvertMode(String convertMode) HTTPレスポンスコードの変換モードを設定する。voidsetCustomResponseWriter(CustomResponseWriter customResponseWriter) HTTPレスポンス出力クラスを設定する。 このプロパティを設定することで、任意のレスポンス出力処理を実行できる。 設定されていない場合はサーブレットフォワード(JSP)によるレスポンス出力が実行される。ダウンロードファイル名のエンコーダを取得するクラスを設定するvoidsetForceFlushAfterWritingHeaders(boolean usesFlush) HTTPヘッダーをwriteした直後にFlushするかどうかの設定 デフォルト値はtrueである。protected static voidsetStatusCode(HttpResponse res, ServletExecutionContext ctx) クライアントに送信するステータスコードを設定する。static voidwriteBody(InputStream in, jakarta.servlet.http.HttpServletResponse nativeRes) メッセージボディの内容をクライアントに送信する。voidwriteResponse(HttpResponse res, ServletExecutionContext ctx) HTTPレスポンスオブジェクトの内容をもとに、 クライアントにレスポンスを返す。
-
Field Details
-
USER_AGENT
User-Agentヘッダ。- See Also:
-
-
Constructor Details
-
HttpResponseHandler
public HttpResponseHandler()
-
-
Method Details
-
setForceFlushAfterWritingHeaders
public void setForceFlushAfterWritingHeaders(boolean usesFlush) HTTPヘッダーをwriteした直後にFlushするかどうかの設定 デフォルト値はtrueである。- Parameters:
usesFlush- Flushの有無
-
setDownloadFileNameEncoderFactory
public HttpResponseHandler setDownloadFileNameEncoderFactory(DownloadFileNameEncoderFactory factory) ダウンロードファイル名のエンコーダを取得するクラスを設定する- Parameters:
factory- ダウンロードファイル名のエンコーダを取得するクラス- Returns:
- このオブジェクト自体。
-
setConvertMode
HTTPレスポンスコードの変換モードを設定する。
HTTPレスポンスコードの変換モードは以下のいずれかである。
- CONVERT_ONLY_400_TO_200
- CONVERT_ALL_TO_200
設定した値は、
HttpResponseUtil.chooseResponseStatusCode(HttpResponse, ServletExecutionContext)で使用される。
変換の仕様については、HttpResponseUtil.chooseResponseStatusCode(HttpResponse, ServletExecutionContext)を参照。- Parameters:
convertMode- HTTPレスポンスコードの変換モード。
-
setCustomResponseWriter
HTTPレスポンス出力クラスを設定する。 このプロパティを設定することで、任意のレスポンス出力処理を実行できる。 設定されていない場合はサーブレットフォワード(JSP)によるレスポンス出力が実行される。- Parameters:
customResponseWriter- HTTPレスポンス出力クラス
-
handle
入力データに対する処理を実行する。この実装では、後続ハンドラの処理結果(HttpResponse)の内容をもとに、 クライアントに対するレスポンス処理を行う。
- Specified by:
handlein interfaceHandler<HttpRequest,HttpResponse> - Parameters:
req- 入力データctx- 実行コンテキスト- Returns:
- 処理結果データ
- Throws:
ClassCastException- 引数 ctx の実際の型が ServletExecutionContext でない場合。
-
writeResponse
HTTPレスポンスオブジェクトの内容をもとに、 クライアントにレスポンスを返す。- Parameters:
res- HTTPレスポンスオブジェクトctx- 実行コンテキスト
-
isErrorResponse
レスポンスがエラーか否かを判定する。ステータスコードが400以上であればtrue、 それ以外であればfalseを返す。
- Parameters:
res- HTTPレスポンス- Returns:
- 判定結果
-
setContentPathRule
言語対応コンテンツパスのルールを設定する。- Parameters:
contentPathRule- 言語対応コンテンツパスのルール
-
setStatusCode
クライアントに送信するステータスコードを設定する。- Parameters:
res- HTTPレスポンスオブジェクトctx- 実行コンテキスト
-
writeBody
public static void writeBody(InputStream in, jakarta.servlet.http.HttpServletResponse nativeRes) throws IOException メッセージボディの内容をクライアントに送信する。- Parameters:
in- 入力ストリームの内容nativeRes- サーブレットレスポンス- Throws:
IOException- ソケットI/Oにおけるエラー
-