Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)

[目次][用語][索引][前へ][次へ]

2.9.1 アプリケーションサーバが提供するサーブレットフィルタbuilt-inフィルタ

アプリケーションサーバでは,次に示す機能を使用するためのサーブレットフィルタ(built-inフィルタ)を提供しています。

built-inフィルタの種類を次の表に示します。また,Webアプリケーションにbuilt-inフィルタを組み込むことによって使用できる機能の参照先をあわせて示します。

表2-35 built-inフィルタの種類

built-inフィルタの種類 機能の説明 参照先マニュアル 参照個所
セッションフェイルオーバ用フィルタ J2EEアプリケーションで実行中のセッション情報を管理します。J2EEサーバで障害が発生したときに,管理しているセッション情報をほかのJ2EEサーバに引き継ぎます。 マニュアル「アプリケーションサーバ 機能解説 互換編」 6.2
6.4
HTTPレスポンス圧縮フィルタ サーブレット,JSP,および静的コンテンツへのHTTPリクエストに対するHTTPレスポンスをgzip形式に圧縮します。 このマニュアル 2.10
ポイント
各フィルタをWebアプリケーションに組み込む場合は,フィルタマッピング定義で,「セッションフェイルオーバ用フィルタ」,「HTTPレスポンス圧縮フィルタ」の順に定義してください。セッションフェイルオーバ用フィルタは,すべてのbuilt-inフィルタ,ユーザのフィルタよりも前に配置する必要があります。

なお,Servlet 3.0以降では,web.xmlではなくAPIでのフィルタ定義ができますが,built-inフィルタはAPIでのフィルタ定義はできません。

以降で,built-inフィルタのHTTPリクエスト・HTTPレスポンスへの作用,built-inフィルタの動作条件に関する制約について説明します。

<この項の構成>
(1) HTTPリクエストおよびHTTPレスポンスへの作用
(2) 動作条件に関する制約

(1) HTTPリクエストおよびHTTPレスポンスへの作用

built-inフィルタは,クライアント側から送信されるHTTPリクエストのリクエストヘッダ,およびリクエストボディに対して作用して,情報の削除,追加,変更などを実施する場合があります。また,サーバから送信されるHTTPレスポンスのレスポンスヘッダ,およびレスポンスボディに対して同様に作用する場合もあります。built-inフィルタのHTTPリクエストおよびHTTPレスポンスへの作用を次の表に示します。

表2-36 built-inフィルタのHTTPリクエストおよびHTTPレスポンスへの作用

built-inフィルタの種類 HTTPリクエストへの作用 HTTPレスポンスへの作用
セッションフェイルオーバ用フィルタ
HTTPレスポンス圧縮フィルタ レスポンスボディが圧縮される場合,Content-Encodingヘッダに「gzip」を指定します。また,レスポンスボディをgzip形式で圧縮します。

(凡例) −:該当なし


(2) 動作条件に関する制約

ユーザのフィルタと,built-inフィルタを同時に使用する場合,フィルタ連鎖の中でbuilt-inフィルタが呼び出される順序に制約があります。

built-inフィルタごとに次に示す制約について説明します。

(a) セッションフェイルオーバ用フィルタに対する制約

セッションフェイルオーバ用フィルタに対する制約を次の表に示します。

表2-37 セッションフェイルオーバ用フィルタに対する制約

制約の種類 説明
位置に関する制約 フィルタ連鎖の中で,最初に呼び出される必要があります。すべてのユーザのフィルタおよびbuilt-inフィルタよりも前に配置する必要があります。
動作条件に関する制約
前後に配置するほかのサーブレットフィルタに対する制約

(凡例) −:該当なし


(b) HTTPレスポンス圧縮フィルタに対する制約

HTTPレスポンス圧縮フィルタに対する制約を次の表に示します。

表2-38 HTTPレスポンス圧縮フィルタに対する制約

制約の種類 説明
位置に関する制約
動作条件に関する制約
前後に配置するほかのサーブレットフィルタに対する制約 javax.servlet.http.HttpServletResponseクラスのsetHeaderメソッド,addHeaderメソッド,setIntHeaderメソッド,またはaddIntHeaderメソッドを使用して,Content-Lengthヘッダ,またはContent-Encodingヘッダの設定を変更するサーブレットフィルタと同時に使用する場合,そのサーブレットフィルタはHTTPレスポンス圧縮フィルタよりあとに配置する必要があります。

(凡例) −:該当なし