url-pattern 寫法之小結
阿新 • • 發佈:2019-01-28
1 三種寫法
① 完全匹配
<url-pattern>/test/list.do</url-pattern>
② 目錄匹配
<url-pattern>/test/*</url-pattern>
③ 副檔名匹配
<url-pattern>*.do</url-pattern>
2 注意事項
☆ 容器會首先查詢完全匹配,如果找不到,再查詢目錄匹配,如果也找不到,就查詢副檔名匹配。
☆ 如果一個請求匹配多個“目錄匹配”,容器會選擇最長的匹配。
☆ 定義”/*.action”這樣一個看起來很正常的匹配會報錯?因為這個匹配即屬於路徑對映,也屬於擴充套件對映,導致容器無法判斷。
☆ “/” 是用來定義default servlet對映的。
3 我的一個需求
我想定義一個除了一種情況的所有url-pattern,比如除了 *.jsp的所有情況
似乎找不到一種 all but ×××的寫法
但似乎可以用下面這種方法:
- <filter>
- <filter-name>LoginFilter</filter-name>
- <filter-class>com.test.LoginFilter</filter-class>
- <init-param>
- <param-name>UrlRegx</param-name>
- <param-value>
- </init-param>
- </filter>
自己定義一個規則,在後臺進行二次過濾:)