クラス GZIPFilter
java.lang.Object
org.opengion.hayabusa.filter.GZIPFilter
- すべての実装されたインタフェース:
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,
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
destroy()
Filter インターフェースの destroy メソッド (何もしません)。void
doFilter
(ServletRequest req, ServletResponse res, FilterChain chain) Filter インターフェースの doFilter メソッド Filter クラスの doFilter メソッドはコンテナにより呼び出され、最後のチェーンにおける リソースへのクライアントリクエストのために、毎回リクエスト・レスポンスのペアが、 チェーンを通して渡されます。void
init
(FilterConfig filterConfig) Filter インターフェースの init メソッド (何もしません)。
-
コンストラクタの詳細
-
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
Filter インターフェースの init メソッド (何もしません)。 Web コンテナは、Filter をサービス状態にするために init メソッドを呼び出します。 Servlet コンテナは、Filter をインスタンス化したあと、一度だけ init メソッドを呼び出します。 Filter がフィルタリングの仕事を依頼される前に、init メソッドは正常に完了してなければいけません。 init メソッドが以下のような状況になると、Web コンテナは Filter をサービス状態にできません。 1. ServletException をスローした 2. Web コネクタで定義した時間内に戻らない -
destroy
Filter インターフェースの destroy メソッド (何もしません)。 サービス状態を終えた事を Filter に伝えるために Web コンテナが呼び出します。 Filter の doFilter メソッドが終了したか、タイムアウトに達した全てのスレッドにおいて、 このメソッドを一度だけ呼び出されます。 Web コンテナがこのメソッドを呼び出した後は、 Filter のこのインスタンスにおいて二度と doFilter メソッドを呼び出す事はありません。 このメソッドは、フィルタに保持されている(例えば、メモリ、ファイルハンドル、スレッド) 様々なリソースを開放する機会を与え、あらゆる永続性の状態が、メモリ上における Filter の現在の状態と同期しているように注意してください。
-