Servlet映射路径中的通配符

本文详细介绍了在Servlet中如何使用通配符进行路径映射,包括两种通配符格式及其实例演示,同时解释了Tomcat如何根据最具体匹配原则选择合适的Servlet。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

映射路径中的通配符

有时候,希望某个目录下的所有路径,都可以访问同一个Servlet
此时,可以在Servlet映射的路径中使用通配符*

通配符的格式有两种

格式为*.扩展名

比如
*.do,匹配以.do结尾的所有URL地址

格式为/*

比如
/abc/*,匹配以/abc开始的所有的URL地址

注意

这两种通配符的格式,不能混合使用
比如
/abc/*.do,为不合法的虚拟路径

当客户端访问一个Servlet时,如果请求的URL地址,能够匹配多个虚拟路径
Tomcat将采取最具体匹配原则,来查看与请求URL最接近的虚拟路径
比如
映射关系
/abc/*——映射到Servlet1
/*——映射到Servlet2
/abc——映射到Servlet3
*.do——映射到Servlet4

请求URL
当URL为:/abc/a.html
/abc/,或者为/,都可以匹配这个URL
Tomcat会调用Servlet01

当URL为:/abc
/abc/*,或者/abc,都可以匹配这个URL
Tomcat会调用Servlet03

当URL为:/a.do
/,或者.do,都可以匹配这个URL
Tomcat会调用Servlet2

当URL为:/xxx/yyy/a.do
.do,或者/,都可以匹配这个URL
Tomcat会调用Servlet2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值