AbstractFilter
Keywords: jp.morpho.webapp.servlet.AbstractFilter,AbstractFilter class

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## jp.morpho.webapp.servlet
クラス AbstractFilter

    java.lang.Object
      |
      +--jp.morpho.webapp.servlet.AbstractFilter

すべての実装インタフェース:
  javax.servlet.Filter

直系の既知のサブクラス:
  CharacterEncodingFilter, FormDataParseFilter

public abstract class AbstractFilter
extends java.lang.Object
implements javax.servlet.Filter

このクラスは、Filter インタフェースのスケルトン実装を提供し、このインタフェースを実装するのに必要な作業量を最小限に抑えます。 Filter は、リソース (サーブレット、静的コンテンツ) の要求、リソースからの応答、またはその両方に対してフィルタリング作業を実行するオブジェクトです。

Filter は、doFilter メソッドにおいてフィルタリングを実行します。すべての Filter は FilterConfig オブジェクトへアクセスでき、このオブジェクトから、初期化パラメータと、フィルタリングに必要なリソースのロードなどに使用できる ServletContext への参照を取得することができます。

Filter は、Web アプリケーションの配備記述子内で設定されます。

Filter の例には、次のものがあります。
1) 認証フィルタ
2) ログおよび監査のフィルタ
3) イメージ変換フィルタ
4) データ圧縮フィルタ
5) 暗号化フィルタ
6) トークン化フィルタ
7) リソースへのアクセスイベントを発生させるフィルタ
8) XSL/T フィルタ
9) MiME タイプチェ−ンフィルタ

作成者:
  Kumiko Hiroi

コンストラクタの概要
`AbstractFilter()` AbstractFilter を構築します。

メソッドの概要
`void` | `destroy()` フィルタがサービス状態を終える際に、Web コンテナによって呼び出されます。
`void` | `doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)` Filter の doFilter メソッドは、チェーンの終端にあるリソースをクライアントが要求することをきっかけとして、要求と応答のペアがチェ−ンに沿って渡されていくごとに、コンテナに呼び出されます。
`java.util.Map` | `getInitParameterMap()` すべての初期化パラメータのマッピングが格納された Map を返します。
`javax.servlet.ServletContext` | `getServletContext()` 呼び出し元が現在実行している ServletContext への参照を返します。
`void` | `init(javax.servlet.FilterConfig filterConfig)` フィルタがサービス開始状態になる際に、Web コンテナによって呼び出されます。

クラス java.lang.Object から継承したメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### AbstractFilter

    public AbstractFilter()

  AbstractFilter を構築します。

メソッドの詳細

### init

    public void init(javax.servlet.FilterConfig filterConfig)
              throws javax.servlet.ServletException

  フィルタがサービス開始状態になる際に、Web コンテナによって呼び出されます。 サーブレットコンテナは、フィルタをインスタンス化した後に、init メソッドを 1 回だけ呼び出します。 フィルタにフィルタリング作業を実行するように要求するには、init メソッドが正常に終了していなければなりません。

  このメソッドは、すべての初期化パラメータを取得するように実装されています。 取得された初期化パラメータは、getInitParameterMap() メソッドで Map として取得できます。 このメソッドをオーバーライドする場合は、super.init(filterConfig) を呼び出してください。

  init メソッドが次のいずれかの状態の場合、Web コンテナはフィルタをサービス状態にできません。
  1.ServletException をスローした
  2.Web コンテナによって定義された時間内に、復帰しない

  定義:
    インタフェース `javax.servlet.Filter` 内の `init`
  パラメータ:
    `filterConfig` - サーブレットコンテナによって使用されるフィルタ設定のためのオブジェクト
  例外:
    `javax.servlet.ServletException` - フィルタを初期化できなかった場合
  関連項目:
    `Filter.init(FilterConfig)`

### doFilter

    public void doFilter(javax.servlet.ServletRequest request,
                         javax.servlet.ServletResponse response,
                         javax.servlet.FilterChain chain)
                  throws java.io.IOException,
                         javax.servlet.ServletException

  Filter の doFilter メソッドは、チェーンの終端にあるリソースをクライアントが要求することをきっかけとして、要求と応答のペアがチェ−ンに沿って渡されていくごとに、コンテナに呼び出されます。 このメソッドへ渡される FilterChain によって、Filter は要求と応答をチェ−ン内の次のエンティティに渡すことができます。

    Filter の doFilter メソッドは、チェーンの終端にあるリソースをクライアントが要求することをきっかけとして、要求と応答のペアがチェ−ンに沿って渡されていくごとに、コンテナに呼び出されます。このメソッドへ渡される FilterChain によって、Filter は要求と応答をチェ−ン内の次のエンティティに渡すことができます。

    このメソッドの典型的な実装は、次のように行われます。
    1. 要求を検査する
    2. オプションとして、入力フィルタリング用にコンテンツまたはヘッダをフィルタリングするカスタム実装により、要求オブジェクトをラップする
    3. オプションとして、出力フィルタリング用にコンテンツまたはヘッダをフィルタリングするカスタム実装により、応答オブジェクトをラップする
    4. a) FilterChain オブジェクトを使用してチェーン内の次のエンティティを呼び出す (chain.doFilter())
    4. b) または、要求に対する処理を打ち切るため、フィルタチェーン内の次のエンティティに要求と応答のペアを渡さない
    5. フィルタチェーン内の次のエンティティを呼び出した後に、応答に対してヘッダを直接設定する

  このメソッドは空の定義をしています。 必要でならば AbstractFilter クラスのサブクラス化によって、このメソッドを実装できます。

  定義:
    インタフェース `javax.servlet.Filter` 内の `doFilter`
  パラメータ:
    `request` - クライアントがサーブレットに行う要求を含む ServletRequest オブジェクト
    `response` - サーブレットがクライアントに送信する応答を含む ServletResponse オブジェクト
    `chain` - フィルタチェーン
  例外:
    `java.io.IOException` - フィルタが要求を処理するときに、入出力エラーが検出された場合
    `javax.servlet.ServletException` - 要求を処理できなかった場合
  関連項目:
    `Filter.doFilter(ServletRequest, ServletResponse, FilterChain)`

### destroy

    public void destroy()

  フィルタがサービス状態を終える際に、Web コンテナによって呼び出されます。 フィルタの doFilter メソッド内のすべてのスレッドが終了した後、またはタイムアウト期間が過ぎた後にのみ、このメソッドは呼び出されます。 このメソッドを呼び出した後は、Web コンテナはフィルタのこのインスタンスに対し doFilter を二度と呼び出すことはありません。

  このメソッドは、メモリ、ファイルハンドラ、スレッドなどの保持されているリソースを解放する機会、およびすべての持続的状態と、メモリ内のフィルタの現在の状態との同期を取るための機会を提供します。

  このメソッドは空の定義をしています。 必要でならば AbstractFilter クラスのサブクラス化によって、このメソッドを実装できます。

  定義:
    インタフェース `javax.servlet.Filter` 内の `destroy`
  関連項目:
    `Filter.destroy()`

### getInitParameterMap

    public java.util.Map getInitParameterMap()

  すべての初期化パラメータのマッピングが格納された Map を返します。 パラメータが存在しない場合は、空の Map を返します。

  返される Map の実装は、ConversionMap です。

  戻り値:
    すべての初期化パラメータのマッピングが格納された Map

### getServletContext

    public javax.servlet.ServletContext getServletContext()

  呼び出し元が現在実行している ServletContext への参照を返します。

  戻り値:
    呼び出し元がサーブレットコンテナとの対話のために使用している ServletContext オブジェクト

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド