RequestURI Compisition:
http://localhost:8080/testWeb/foo/bar/index.html
contextPath:/testWeb
servletPath:/foo/bar
pathInfo:/index.html
http://localhost:8080/testWeb/catalog/index.bop
contextPath:/testWeb
servletPath:/catalog/index.bop
pathInfo:null
General Url Mapping
匹配规则:
1)精确匹配;
把精确的path排在第一,首先进行精确匹配;
2)地址通配符匹配;
按地址通配由长到短排列,然后逐个匹配;
3)后缀名匹配;
对请求地址进行后缀名匹配;
4)default匹配;
用服务器默认的servlet来进行处理;
按匹配规则把servlet的contextpath 进行排序:
/catalog --> servlet 3
/foo/bar/* --> servlet 1
/baz/* --> servlet 2
*.bop --> servlet 4
UrlMapping | Servletpath | acceptLeft | Requesturi |
/catalog | /catalog | False | /catalog |
/foo/bar/* | /foo/bar | True | /foo/bar/index.html /foo/bar/index.bop |
/baz/* | /baz | True | /baz /baz/index.html |
*.bop | *.bop | false | /catalog/reacecar.bop /index.bop |
Special Url Mapping
URLMapping | Servletpath | PathInfo | AcceptLeft | RequestUri |
/ | /foo/bar | Null | false | /foo/bar/index |
/* | empty | /foo/bar/index | true | /foo/bar/index |
Astring containing only the ’/’characterindicates the "default" servlet of the application. In thiscase the servlet path is the request URI minus the context path andthe path info is null.
Reference:
http://read.pudn.com/downloads152/ebook/665536/servlet2.4%B9%E6%B7%B6.pdf