Servlet映射路径中的通配符映射路径中的通配符
有时候,希望某个⽬录下的所有路径,都可以访问同⼀个Servlet
此时,可以在Servlet映射的路径中使⽤通配符*
通配符的格式有两种
格式为*.扩展名
⽐如
*.do,匹配以.do结尾的所有URL地址
格式为/*
⽐如
/abc/*,匹配以/abc开始的所有的URL地址
注意
这两种通配符的格式,不能混合使⽤
⽐如servlet和tomcat的关系
/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