urlpartten:Servlet 访问路径
三种定义规则:
(1)/xxx:路径匹配,单层路径
(2)/xxx/xxx:多层路径,目录结构
(3)*.do:扩展名来匹配
路径优先级:
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、精确路径优先匹配原则:例如SomeServlet的<url-pattern>为/some,OtherServlet的<url-pattern>为/*。若用户提交的请求URL为http://localhost:8080/oa/some,此时服务器发现SomeServlet的/some和OtherServlet的为/*,那么服务器会按照“精确路径优先”的原则学则SomeServlet。
3、最长路径优先匹配原则:例如SomeServlet的<url-pattern>为/some/*,OtherServlet的<url-pattern>为/some/other/*。若用户提交的请求URL为http://localhost:8080/oa/some/other,此时服务器发现SomeServlet的/some/*与OtherServletDE/some/other/*都可以与用户提交请求的/some/other相匹配。那么服务器会按照“最长路径优先匹配”的原则选择OtherServlet。