org.opengion.hayabusa.filter
クラス GZIPFilter
java.lang.Object
org.opengion.hayabusa.filter.GZIPFilter
- すべての実装されたインタフェース:
- javax.servlet.Filter
public class GZIPFilter
- extends java.lang.Object
- implements javax.servlet.Filter
GZIPFilter は、Filter インターフェースを継承した ZIP圧縮クラスです。
web.xml で filter 設定することにより、Webアプリケーションへのアクセスを制御できます。
フィルタへのパラメータは、IPAddress と Debug を指定できます。
IPAddress は、リモートユーザーのIPアドレスをカンマ区切りで複数指定できます。
これは、カンマ区切りで分解した後、アクセス元のアドレスの先頭文字列の一致を
判定しています。
フィルターに対して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>200.1</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>
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
メソッドの概要 |
void |
destroy()
Filter インターフェースの destroy メソッド (何もしません)。 |
void |
doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
Filter インターフェースの doFilter メソッド
Filter クラスの doFilter メソッドはコンテナにより呼び出され、 最後のチェーンにおける
リソースへのクライアントリクエストのために、 毎回リクエスト・レスポンスのペアが、
チェーンを通して渡されます。 |
void |
init(javax.servlet.FilterConfig filterConfig)
Filter インターフェースの init メソッド (何もしません)。 |
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GZIPFilter
public GZIPFilter()
doFilter
public void doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
throws java.io.IOException,
javax.servlet.ServletException
- Filter インターフェースの doFilter メソッド
Filter クラスの doFilter メソッドはコンテナにより呼び出され、 最後のチェーンにおける
リソースへのクライアントリクエストのために、 毎回リクエスト・レスポンスのペアが、
チェーンを通して渡されます。 このメソッドに渡される FilterChain を利用して、Filter が
リクエストやレスポンスをチェーン内の次のエンティティ(Filter)にリクエストとレスポンスを
渡す事ができます。
このメソッドの典型的な実装は以下のようなパターンとなるでしょう。
1. リクエストの検査
2. オプションとして、入力フィルタリング用にコンテンツもしくはヘッダをフィルタリング
するためにカスタム実装によるリクエストオブジェクトのラップ
3. オプションとして、出力フィルタリング用にコンテンツもしくはヘッダをフィルタリング
するためにカスタム実装によるレスポンスオブジェクトラップ
4. 以下の a)、b) のどちらか
a) FileterChain オブジェクト(chain.doFilter()) を利用してチェーンの次のエンティティを呼び出す
b) リクエスト処理を止めるために、リクエスト・レスポンスのペアをフィルタチェーンの次の
エンティティに渡さない
5. フィルタチェーンの次のエンティティの呼び出した後、直接レスポンスのヘッダをセット
- 定義:
- インタフェース
javax.servlet.Filter
内の doFilter
- パラメータ:
req
- ServletRequestオブジェクトres
- ServletResponseオブジェクトchain
- FilterChainオブジェクト
- 例外:
java.io.IOException
javax.servlet.ServletException
init
public void init(javax.servlet.FilterConfig filterConfig)
- Filter インターフェースの init メソッド (何もしません)。
Web コンテナは、Filter をサービス状態にするために init メソッドを呼び出します。
Servlet コンテナは、Filter をインスタンス化したあと、 一度だけ init メソッドを呼び出します。
Filter がフィルタリングの仕事を依頼される前に、init メソッドは正常に完了してなければいけません。
init メソッドが以下のような状況になると、Web コンテナは Filter をサービス状態にできません。
1. ServletException をスローした
2. Web コネクタで定義した時間内に戻らない
- 定義:
- インタフェース
javax.servlet.Filter
内の init
- パラメータ:
filterConfig
- FilterConfigオブジェクト
destroy
public void destroy()
- Filter インターフェースの destroy メソッド (何もしません)。
サービス状態を終えた事を Filter に伝えるために Web コンテナが呼び出します。
Filter の doFilter メソッドが終了したか、タイムアウトに達した全てのスレッドにおいて、
このメソッドを一度だけ呼び出されます。 Web コンテナがこのメソッドを呼び出した後は、
Filter のこのインスタンスにおいて二度と doFilter メソッドを呼び出す事はありません。
このメソッドは、フィルタに保持されている(例えば、メモリ、ファイルハンドル、スレッド)
様々なリソースを開放する機会を与え、 あらゆる永続性の状態が、メモリ上における Filter
の現在の状態と同期しているように注意してください。
- 定義:
- インタフェース
javax.servlet.Filter
内の destroy
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.