org.seasar.cubby.filter
クラス RequestRoutingFilter

java.lang.Object
  上位を拡張 org.seasar.cubby.filter.RequestRoutingFilter
すべての実装されたインタフェース:
Filter

public class RequestRoutingFilter
extends Object
implements Filter

リクエストされたURLを適切なアクションに振り分けるフィルタ。

Router によって InternalForwardInfo を抽出し、そこに保持された情報をもとにフォワードします。

導入されたバージョン:
1.0.0
作成者:
baba

フィールドの概要
static String IGNORE_PATH_PATTERN
          ルーティングの対象外とするパスの初期パラメータ名。
 
コンストラクタの概要
RequestRoutingFilter()
           
 
メソッドの概要
 void destroy()
          
 void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
          フィルタリングを行います。
 void init(FilterConfig config)
          このフィルタを初期化します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

IGNORE_PATH_PATTERN

public static final String IGNORE_PATH_PATTERN
ルーティングの対象外とするパスの初期パラメータ名。

関連項目:
定数フィールド値
コンストラクタの詳細

RequestRoutingFilter

public RequestRoutingFilter()
メソッドの詳細

init

public void init(FilterConfig config)
          throws ServletException
このフィルタを初期化します。

使用可能な初期化パラメータ

定義:
インタフェース Filter 内の init
パラメータ:
config - Filter 設定のためのオブジェクト
例外:
ServletException - 初期化処理で例外が発生した場合

destroy

public void destroy()

定義:
インタフェース Filter 内の destroy

doFilter

public void doFilter(ServletRequest req,
                     ServletResponse res,
                     FilterChain chain)
              throws IOException,
                     ServletException
フィルタリングを行います。

リクエストされた URI に対応する内部フォワード情報が Router から取得できた場合は、そこに設定されている InternalForwardInfo.getOnSubmitRoutings() をリクエストに設定し、 InternalForwardInfo.getInternalForwardPath() へフォワードします。 フォワード先は CubbyFilter が処理することを期待します。 URI に対応する内部フォワード情報が取得できなかった場合はフィルタチェインで次のフィルタに処理を移譲します。

定義:
インタフェース Filter 内の doFilter
パラメータ:
req - リクエスト
res - レスポンス
chain - フィルタチェイン
例外:
IOException - リクエストディスパッチャやフィルタチェインで例外が発生した場合
ServletException - リクエストディスパッチャやフィルタチェインで例外が発生した場合
関連項目:
Router.routing(HttpServletRequest, HttpServletResponse, List), CubbyFilter

初期化パラメータ名 初期化パラメータの値
IGNORE_PATH_PATTERN ルーティングの対象外とするパスの正規表現をカンマ区切りで指定します。 HotDeploy 時のパフォーマンスにも影響するので、画像やスクリプトを特定のディレクトリに 格納していてアクションを実行するパスと明確に区別できる場合はできる限り指定するようにしてください。
 <param-name>ignorePathPattern&lt/param-name>
 <param-value>/img/.*,/js/.*<param-name>
 
この例では /img と /js 以下のパスをルーティングの対象外にします。

Copyright © 2006-2009 The Seasar Foundation. All Rights Reserved.