uri =uniform resource identifer 统一资源标识符, 更注重资源
url =uniform resource locator 统一资源定位符 ,更强调位置
需要强调的是uri和url的使用有很大的区别。URL被用来标识一个网络路径,可以通过互联网在这个URL上访问到对应的资源,
但一个URI标识的资源可能无法通过互联网来访问到,它标识而且仅仅是标识一个资源,并不同时包含该资源的访问路径。从概念上讲 ,URI包含URL。。。。。
三种匹配:
① 完全匹配
<url-pattern>/test/list.do</url-pattern>
② 目录匹配
<url-pattern>/test/*</url-pattern>
③ 扩展名匹配
<url-pattern>*.do</url-pattern>
servlet-mapping的重要规则:
☆ 容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
☆ 如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。
Servlet如何处理请求资源地址:比如在浏览器地址栏输入http://ip:port/appname/abc.html
那么,浏览器会将/appname/abc.html放入请求数据包,
该地址称为请求资源地址。
比较url-pattern 与abc.html,(依次按完全匹配,目录匹配,扩展名匹配)