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 request, ServletResponse response, 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 request,
                     ServletResponse response,
                     FilterChain chain)
              throws IOException,
                     ServletException
フィルタリングを行います。

リクエストされた URI に対応する内部フォワード用のパスが Router から取得できた場合は、 その内部フォワード用のパスへフォワードします。フォワード先は CubbyFilter が処理することを期待します。 マッチするパターンがなかった場合はフィルタチェインで次のフィルタに処理を移譲します。

定義:
インタフェース Filter 内の doFilter
パラメータ:
request - リクエスト
response - レスポンス
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-2008 The Seasar Foundation. All Rights Reserved.