|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Filter は、リソース(Servlet または静的なコンテンツ)へのリクエストもしくはリソースからのレスポンス、
あるいはその両方をフィルタリングするタスクを処理するオブジェクトです。
Filter は、doFilter
メソッドによりフィルタリングを行います。
それぞれの Filter は、FilterConfig オブジェクトへアクセスできます。
FilterConfig オブジェクトは、Filter の初期化パラメータや、
フィルタリングタスクで必要とされるリソースをロードするためなどに利用可能な
ServletContext への参照を保持しています。
Filter は、Web アプリケーションの配備記述子において構成されます。
以下のような用途に利用できます。
1) 認証フィルタ
2) ログと監査フィルタ
3) イメージ変換フィルタ
4) データ圧縮フィルタ
5) 暗号化フィルタ
6) トークン分割(Tokenizing)フィルタ
7) リソースアクセスイベントのトリガとなるフィルタ
8) XSL/T フィルタ
9) Mime-type チェーンフィルタ
メソッドの概要 | |
void |
destroy()
サービス状態を終えた事を Filter に伝えるために Web コンテナが呼び出します。 |
void |
doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
Filter クラスの doFilter メソッドはコンテナにより呼び出され、
最後のチェーンにおけるリソースへのクライアントリクエストのために、
毎回リクエスト・レスポンスのペアが、チェーンを通して渡されます。
|
void |
init(FilterConfig filterConfig)
Web コンテナは、Filter をサービス状態にするために init メソッドを呼び出します。 |
メソッドの詳細 |
public void init(FilterConfig filterConfig) throws ServletException
ServletException
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
doFilter
メソッドはコンテナにより呼び出され、
最後のチェーンにおけるリソースへのクライアントリクエストのために、
毎回リクエスト・レスポンスのペアが、チェーンを通して渡されます。
このメソッドに渡される FilterChain を利用して、Filter がリクエストやレスポンスをチェーン内の次のエンティティ(Filter)にリクエストとレスポンスを渡す事ができます。
このメソッドの典型的な実装は以下のようなパターンとなるでしょう。
1. リクエストの検査
2. オプションとして、入力フィルタリング用にコンテンツもしくはヘッダをフィルタリングするためにカスタム実装によるリクエストオブジェクトのラップ
3. オプションとして、出力フィルタリング用にコンテンツもしくはヘッダをフィルタリングするためにカスタム実装によるレスポンスオブジェクトラップ
4. 以下の a)、b) のどちらか
a) FileterChain オブジェクト(chain.doFilter()
) を利用してチェーンの次のエンティティを呼び出す
b) リクエスト処理を止めるために、リクエスト・レスポンスのペアをフィルタチェーンの次のエンティティに渡さない
5. フィルタチェーンの次のエンティティの呼び出した後、直接レスポンスのヘッダをセット
IOException
ServletException
public void destroy()
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。
Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.