リクエストURLは,次の1.〜3.の順序でマッピングされます。なお,マッピングの順序は,Servlet仕様のサーブレットマッピングの適用順序と同じです。
- 完全一致
リクエストURLとURLパターンが完全に一致する場合,一致したURLパターンが適用されます。
- プリフィックス一致
リクエストURLとプリフィックスが一致し,さらに,リクエストURLとできるだけ長く文字列が一致するURLパターンが適用されます。
- 拡張子一致
リクエストURLと拡張子が一致しする場合,一致したURLパターンが適用されます。
なお,上記の1.〜3.に一致しない場合は,URLグループ単位の同時実行スレッド数制御の対象にはなりません。このようなリクエストURLは,Webアプリケーション単位の同時実行スレッド数制御の対象になります。
次に示すURLパターンを使用して,URLのマッピングの例を説明します。
表4-30 URLパターンの例
URLパターン |
URLパターンに対応するURLグループ |
/foo/bar |
Control1 |
/foo/* |
Control2 |
/foo/bar/* |
Control3 |
*.do |
Control4 |
- マッピング例1:リクエストURLが「/foo/bar」の場合
- Control1のURLパターンと完全一致するため,Control1に振り分けられます。
- マッピング例2:リクエストURLが「/foo/bb」の場合
- 完全一致するURLパターンがないため,プリフィックスが一致するControl2に振り分けられます。
- マッピング例3:リクエストURLが「/foo/aa.do」の場合
- この場合,Control2とControl4で次の個所が一致します。
- プリフィックス「/foo」がControl2と一致します。
- 拡張子「.do」がControl4と一致します。
- マッピング順序では,拡張子一致よりプリフィックス一致が優先されるため,Control2に振り分けられます。
- マッピング例4:リクエストURLが「/foo/bar/」の場合
- この場合,Control2とControl3でそれぞれプリフィックスが一致します。
- プリフィックス「/foo」がControl2と一致します。
- プリフィックス「/foo/bar」がControl3と一致します。
- より長い文字列で一致するControl3に振り分けられます。
- マッピング例5:リクエストURLが「/foo/bar/action.do」の場合
- この場合,Control2,Control3,Control4で次の個所が一致します。
- プリフィックス「/foo」がControl2と一致します。
- プリフィックス「/foo/bar」がControl3と一致します。
- 拡張子「.do」がControl4と一致します。
- マッピング順序では拡張子一致よりプリフィックス一致が優先され,さらにより長い文字列が一致するURLパターンが優先されるので,Control3に振り分けられます。
- マッピング例6:リクエストURLが「/context/fo」の場合
- 該当するURLパターンがないため,Webアプリケーション単位での同時実行スレッド制御として扱われます。
- マッピング例7:リクエストURLが「/action.do」の場合
- Control4と拡張子が一致するため,Control4に振り分けられます。
- マッピング例8:リクエストURLが「/boo/action.do」の場合
- Control4と拡張子が一致するため,Control4に振り分けられます。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.