Servlet 容器如何处理请求资源路径

一、什么是请求资源路径
在浏览器地址栏中输入的地址格式如下:
http://ip:port/appName/xx.html
其中appName/xx.html 即为请求资源路径

二、Web服务器对请求路径的处理过程
在浏览器地址栏中输入http://ip:port/appName/xx.html

  1. 浏览器依据ip,port建立与Servlet容器之间的连接,然后将请求资源路径appName/xx.html 发送过去给容器
  2. 容器依据应用名“/appName”找到应用所在的文件夹,容器会默认请求的是一个Servlet,查找web.xml文件中所有的Servlet配置“”,看是否有匹配的Servlet.

三、匹配Servlet规则
1、精确匹配
通过将请求资源路径中的具体资源名称与web.xml文件中的“”进行对比,严格匹配相等后找到对应资源并执行
- 如:abc.html
- 尽管应用中有abc.html这个具体的页面,也会去执行该url-pattern对应的Servlet,而不是返回具体的abc.html页面.

2、通配符匹配

3、后缀匹配
- 不能使用斜杠开头,使用“*.”开头的任意多个字符
- 如:*.do会匹配以”.do”结尾的所有请求
- http://ip:port/appName/abc.do 匹配成功
- http://ip:port/appName/abc/abc.do 也匹配成功

4、无匹配的Servlet的处理

  • 如果精确匹配、通配符匹配、后缀匹配都没有匹配成功时,容器会查找相应的文件
  • 查到对应文件则返回
  • 找不到返回404

注:优先级最高的是 精确匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值