アットウィキロゴ

J2EE-API > Filter

フィルタ

概要

  • リクエストおよびレスポンスに対して、リソース(サーブレット、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