フィルタ処理の概要

フィルタ処理は、

フィルタ処理クラス(javax.servlet.Filter)

  1. フィルタ処理クラスは javax.servlet.Filter インタフェースを実装して作成する。
    フィルタ処理クラスは以下のメソッドを実装する。
    void init(...)フィルタ処理クラスがインスタンス化されるときに動く
    void doFilter(...)フィルタリング処理を実装する
    void destroy()フィルタ処理クラスがアンロードされるときに動く
  2. void init(FilterConfig? filterconfig)
    1. initメソッドは、フィルタ処理クラスがインスタンス化されるときに呼び出される。
    2. 引数のFilterConfig?は、以下のメソッドを持っている。
      String getFilterName?()web.xmlへの登録名
      String getInitParameter?(String name)web.xmlの<filter>要素の<init-param>の値
      Enumeration getInitParameterNames?()web.xmlの<filter>要素の<init-param>の値を列挙
      ServletContext? getServletContext?()ServletContext?の取得
    3. initメソッドでは、getInitParameter?(String)で初期化パラメータを取得して、フィールドに設定する
  3. void doFilter(ServletRequest? req,ServletResponse? res,FilterChain? chain)
    HTTPAFilterBFilterServlet
    REQ ->doFilter(req,req,chain){
    (前処理)
    chain.doFilter(req,res)->doFilter(req,res,chain){
    (前処理)
    chain.doFilter(req,res)->doPost(req,res){
    (業務処理)
    (後処理)<---------------return;
    (後処理)<---------------return;}
    RES <-return;}
    }
    1. doFilterメソッドは、Servletが呼び出される毎に呼び出される
    2. 次のFilterもしくはServletは、引数のchainオブジェクトのchain.doFilter(req,res)を実行する
    3. 前処理はchain.doFilter(req,res)の前に記述する
    4. 後処理はchain.doFilter(req,res)の後に記述する
  4. void destroy()
    1. destroy()は、フィルタ処理クラスが消去されるときに呼び出される。
    2. 通常は何もしない

web.xmlへの登録

web.xml:

<filter>
  <filter-name>XXXFILTER</finter-name>
  <filter-class>com.foo.XxxFilter</filter-class>
  <init-param>                               <-- パラメータが無ければ
    <param-name>PARAM</param-name>           <-- 不要
    <param-value>VALUE</param-value>         <--
  </init-param>                              <--
</filter>

<filter-mapping>
  <filter-name>XXXFILTER</filter-name>
  <servlet-name>/FooServlet</<servlet-name>  <-- どちらか一方で良い
  <url-pattern>/*</url-pattern>              <--
</filter-mapping>

web.xmlの記述順序?を参照


Java#JavaEE


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2006-02-18 (土) 03:01:39 (3946d)
ISBN10
ISBN13
9784061426061