一、什么是请求资源路径
在浏览器地址栏中输入的地址格式如下:
http://ip:port/appName/xx.html
其中appName/xx.html 即为请求资源路径
二、Web服务器对请求路径的处理过程
在浏览器地址栏中输入http://ip:port/appName/xx.html
- 浏览器依据ip,port建立与Servlet容器之间的连接,然后将请求资源路径appName/xx.html 发送过去给容器
- 容器依据应用名“/appName”找到应用所在的文件夹,容器会默认请求的是一个Servlet,查找web.xml文件中所有的Servlet配置“”,看是否有匹配的Servlet.
三、匹配Servlet规则
1、精确匹配
通过将请求资源路径中的具体资源名称与web.xml文件中的“”进行对比,严格匹配相等后找到对应资源并执行
- 如:abc.html
- 尽管应用中有abc.html这个具体的页面,也会去执行该url-pattern对应的Servlet,而不是返回具体的abc.html页面.
2、通配符匹配
- 使用“*”来匹配0个或多个字符
- 如:/*
- 代表输入任何不同的url地址都匹配成功
- http://ip:port/appName/abc.html 匹配成功
- http://ip:port/appName/abc/def 也匹配成功
3、后缀匹配
- 不能使用斜杠开头,使用“*.”开头的任意多个字符
- 如:*.do会匹配以”.do”结尾的所有请求
- http://ip:port/appName/abc.do 匹配成功
- http://ip:port/appName/abc/abc.do 也匹配成功
4、无匹配的Servlet的处理
- 如果精确匹配、通配符匹配、后缀匹配都没有匹配成功时,容器会查找相应的文件
- 查到对应文件则返回
- 找不到返回404
注:优先级最高的是 精确匹配
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-25 02:33:18