パッケージ org.opengion.hayabusa.filter

# クラス GZIPFilter

java.lang.Object
org.opengion.hayabusa.filter.GZIPFilter

すべての実装されたインタフェース:
  `Filter`

public class GZIPFilter extends Object implements Filter
GZIPFilter は、Filter インターフェースを継承した ZIP圧縮クラスです。 web.xml で filter 設定することにより、Webアプリケーションへのアクセスを制御できます。 フィルタへのパラメータは、ipAddress と debug を指定できます。 ipAddress は、リモートユーザーのIPアドレスをCSV形式で複数指定できます。 これは、CSV形式で分解した後、アクセス元のアドレスの先頭文字列の一致を 判定しています。 フィルターに対してweb.xml でパラメータを設定します。

- ipAddress :フィルタするリモートIPアドレス。無指定時は、ZIP圧縮しません。
- debug :フィルタ処理の詳細情報を出力します。(デバッグモード)

     【WEB-INF/web.xml】
         <filter>
             <filter-name>GZIPFilter</filter-name>
             <filter-class>org.opengion.hayabusa.filter.GZIPFilter</filter-class>
             <init-param>
                 <param-name>ipAddress</param-name>
                 <param-value>192.168.</param-value>
             </init-param>
             <init-param>
                 <param-name>debug</param-name>
                 <param-value>true</param-value>
             </init-param>
         </filter>

         <filter-mapping>
             <filter-name>GZIPFilter</filter-name>
             <url-pattern>/jsp/*</url-pattern>
         </filter-mapping>

導入されたバージョン:
  JDK5.0,

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `GZIPFilter()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `void`
  `destroy()`
  Filter インターフェースの destroy メソッド (何もしません)。
  `void`
  `doFilter(ServletRequest req, ServletResponse res, FilterChain chain)`
  Filter インターフェースの doFilter メソッド Filter クラスの doFilter メソッドはコンテナにより呼び出され、 最後のチェーンにおける リソースへのクライアントリクエストのために、 毎回リクエスト・レスポンスのペアが、 チェーンを通して渡されます。
  `void`
  `init(FilterConfig filterConfig)`
  Filter インターフェースの init メソッド (何もしません)。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## コンストラクタの詳細

  - ### GZIPFilter

    public GZIPFilter()
    デフォルトコンストラクター
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### doFilter

    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException
    Filter インターフェースの doFilter メソッド Filter クラスの doFilter メソッドはコンテナにより呼び出され、 最後のチェーンにおける リソースへのクライアントリクエストのために、 毎回リクエスト・レスポンスのペアが、 チェーンを通して渡されます。 このメソッドに渡される FilterChain を利用して、Filter が リクエストやレスポンスをチェーン内の次のエンティティ(Filter)にリクエストとレスポンスを 渡す事ができます。 このメソッドの典型的な実装は以下のようなパターンとなるでしょう。 1. リクエストの検査 2. オプションとして、入力フィルタリング用にコンテンツもしくはヘッダをフィルタリング するためにカスタム実装によるリクエストオブジェクトのラップ 3. オプションとして、出力フィルタリング用にコンテンツもしくはヘッダをフィルタリング するためにカスタム実装によるレスポンスオブジェクトラップ 4. 以下の a)、b) のどちらか a) FileterChain オブジェクト(chain.doFilter()) を利用してチェーンの次のエンティティを呼び出す b) リクエスト処理を止めるために、リクエスト・レスポンスのペアをフィルタチェーンの次の エンティティに渡さない 5. フィルタチェーンの次のエンティティの呼び出した後、直接レスポンスのヘッダをセット
    定義:
      `doFilter` インタフェース内 `Filter`
    パラメータ:
      `req` - ServletRequestオブジェクト
      `res` - ServletResponseオブジェクト
      `chain` - FilterChainオブジェクト
    例外:
      `IOException` - 入出力エラーが発生したとき
      `ServletException` - サーブレット関係のエラーが発生した場合、throw されます。

  - ### init

    public void init(FilterConfig filterConfig)
    Filter インターフェースの init メソッド (何もしません)。 Web コンテナは、Filter をサービス状態にするために init メソッドを呼び出します。 Servlet コンテナは、Filter をインスタンス化したあと、 一度だけ init メソッドを呼び出します。 Filter がフィルタリングの仕事を依頼される前に、init メソッドは正常に完了してなければいけません。 init メソッドが以下のような状況になると、Web コンテナは Filter をサービス状態にできません。 1. ServletException をスローした 2. Web コネクタで定義した時間内に戻らない
    定義:
      `init` インタフェース内 `Filter`
    パラメータ:
      `filterConfig` - FilterConfigオブジェクト

  - ### destroy

    public void destroy()
    Filter インターフェースの destroy メソッド (何もしません)。 サービス状態を終えた事を Filter に伝えるために Web コンテナが呼び出します。 Filter の doFilter メソッドが終了したか、タイムアウトに達した全てのスレッドにおいて、 このメソッドを一度だけ呼び出されます。 Web コンテナがこのメソッドを呼び出した後は、 Filter のこのインスタンスにおいて二度と doFilter メソッドを呼び出す事はありません。 このメソッドは、フィルタに保持されている(例えば、メモリ、ファイルハンドル、スレッド) 様々なリソースを開放する機会を与え、 あらゆる永続性の状態が、メモリ上における Filter の現在の状態と同期しているように注意してください。
    定義:
      `destroy` インタフェース内 `Filter`