源碼html
https://github.com/YouXianMing/Java-Web-Study/tree/master/Servlet-Filter-UrlPatterngit
Filter順序以及url-pattern規則github
實際匹配狀況web
http://localhost:8080/Servlet-Filter-UrlPattern/demojsp
http://localhost:8080/Servlet-Filter-UrlPattern/dourl
http://localhost:8080/Servlet-Filter-UrlPattern/demo.jspspa
http://localhost:8080/Servlet-Filter-UrlPattern/do/demo.jspxml
須要注意的點htm
1. Filter按照配置在web.xml中的前後順序,每個Filter都會進行url-pattern的匹配,匹配成功,則會執行對應的Filter方法blog
2. 1個Filter能夠設置多個url-pattern
3. Filter匹配有3種模式
一、精確匹配: /directory/file1.jsp /directory/file2.jsp /directory/file3.jsp 二、目錄匹配: /directory/* 三、擴展匹配: *.jsp 注意:下面的不支持: /direcotry/*.jsp
/和/*之間的區別: <url-pattern>/</url-pattern>: 會匹配到/login這樣的路徑型url,不會匹配到模式爲*.jsp這樣的後綴型url <url-pattern>/*</url-pattern>:會匹配全部url:路徑型的和後綴型的url(包括/login , *.jsp , *.js 和 *.html 等) <url-pattern>/</url-pattern>: 甚至會形成The requested resource () is not available.