1.类型
1.全路径
如:/xxx/jjj/ooo
2.通配符(拦截所有动态和静态资源)
/*
3.统配符(只拦截静态资源)
/
4.后缀模式
如:*.do
2.匹配原则
2.1路径优先后辍匹配原则
例如SomeServlet的<url-pattern/>为* .do, OtherServlet 的<url-pattern/>为/xxx/*.若用户提交的请求URL为http://localhost:8080/oa/xxx/abc.do,此时服务器发现SomeServlet的* .do与OtherServlet的/xxx/*都可以与用户提交请求的/xxx/abc.do相匹配。那么服务器会按照“路径优先后辍匹配”的原则选择OtherServlet.。
2.2精确路径优先匹配原则
例如SomeServlet的<url-pattern/>为/some,OtherServlet的<url-pattern/>为/*。 若用户提交的请求URL为http://localhost:8080/oa/some,此时服务器发现/some与/some和/*都相匹配,那么服务器会按照“路径优先后辍匹配”的原则选择SomeServlet。
2.3最长路径优先匹配原则
例如SomeServlet的<url-pattern/>为/some/*, OtherServlet 的<url-pattern/>为/some/other/*. 若用户提交的请求URL为http://localhost:8080/oa/some/other,此时服务器发现SomeServlet的/some/*与OtherServlet的/some/other/*都可以与用户提交请求的/some/other相匹配。那么服务器会按照“最长路径优先匹配”的原则选择OtherServlet.。