フィルタ
概要
- リクエストおよびレスポンスに対して、リソース(サーブレット、JSP、HTML)での処理の前および後に何らかの処理を行うオブジェクトのこと。
- サーブレット2.3から標準の機能となった。
登場人物
javax.servlet.Filterインタフェース
- フィルタクラスが実装するインタフェース。
- init(javax.servlet.FilterConfig)メソッドを実装する。
- フィルタが初めて使用されるときに呼び出される。フィルタ処理の初期処理。
- doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)を実装する。
- destroy()メソッドを実装する。
- フィルタが破棄されるときに呼び出される。フィルタ処理の後処理。
javax.servlet.FilterConfigインタフェース
- Filter#initの引数に指定されるインタフェースで、web.xmlに記述した初期化パラメータを取得する際などに使用する。
- getFilterName()メソッド
- フィルタ名(web.xmlで指定しているもの)を返す。
- getInitParameter(String)メソッド
- getInitParameterNames()メソッド
- web.xmlで指定している初期化パラメータ名をEnumerationで返す。
- getServletContext()メソッド
- 実行されているServletContextオブジェクトを返す。
javax.servlet.FilterChainインタフェース
- フィルタ処理をチェインして(連続して)呼び出すときに使用される。Filter#doFilterの引数に指定される。
- doFilter(ServletRequest, ServletResponse)メソッド
web.xmlの設定
- <filter>タグと<filter-mapping>タグ
<filter>
<filter-name>フィルタ名</filter-name>
<filter-class>フィルタクラス(フルパッケージ)</filter-class>
</filter>
<filter-mapping>
<filter-name>フィルタ名</filter-name>
<url-pattern>/*(とか)</url-pattern>
</filter-mapping>
最終更新:2011年09月11日 13:17