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

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

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

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

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

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

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

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

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

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

built-inフィルタの種類HTTPリクエストへの作用HTTPレスポンスへの作用
セッションフェイルオーバ用フィルタ
HTTPレスポンス圧縮フィルタレスポンスボディが圧縮される場合,Content-Encodingヘッダに「gzip」を指定します。また,レスポンスボディをgzip形式で圧縮します。
クライアント性能フィルタ詳細については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 拡張編」の「9.2.2 クライアント性能フィルタの定義方法」を参照してください。

(凡例) -:該当なし


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

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

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

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

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

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

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

(凡例) -:該当なし


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

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

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

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

(凡例) -:該当なし


(c) クライアント性能フィルタに対する制約

クライアント性能フィルタに対する制約を次の表に示します。

表2-38 クライアント性能フィルタに対する制約

制約の種類説明
位置に関する制約
動作条件に関する制約
前後に配置するほかのサーブレットフィルタに対する制約
  • HTMLを別のコンテンツの種類に変換するサーブレットフィルタと同時に使用する場合,クライアント性能フィルタはそのフィルタよりもあとに配置する必要があります。
  • 最終的にクライアントが受け取るレスポンス内容をそのまま処理したいサーブレットフィルタと同時に使用する場合,クライアント性能フィルタはそのフィルタよりもあとに配置する必要があります。
  • HTMLレスポンスを生成するフィルタと同時に使用する場合,クライアント性能フィルタはそのフィルタよりも前に配置する必要があります。

(凡例) -:該当なし