servlet多重映射_servlet虚拟路径映射

本文介绍了Servlet的多重映射,允许一个Servlet对应多个虚拟路径,例如通过`<url-pattern>`在web.xml中配置。同时探讨了在映射路径中使用通配符的用法,包括路径匹配、扩展名匹配和完全匹配,并说明了它们的优先级。通过实例展示了如何正确配置和理解Servlet的路径映射。
摘要由CSDN通过智能技术生成

在web.xml文件中,一个元素用于映射一个Servlet的对外访问路径,该路径也称为虚拟路径。例如/TestServlet,其中“/TestServlet”就是一个虚拟路径。创建的Servlet只有在web.xml中映射了虚拟路径,客户端才能访问。但是,在映射Servlet时,有一些细节问题需要注意,比如Servlet的多重映射,在映射路径中使用通配符等,接下来,针对这些问题进行详细解释,具体如下:

(1)Servlet的多重映射

Servlet的多重映射是指同一个Servlet可以被映射成多个虚拟路径,即客户端可以通过多个路径访问同一个Servlet,具体如下:

可以在标签中配置多个标签,

如例1-7所示:

AServlet

/AServlet

/BServlet

如例1-7所示,AServlet配置了多个url-pattern,在浏览器端地址栏通过http://localhost:8080/Example13/AServlet和http://localhost:8080/Example13/BServlet都能够过访问到AServlet。但是这种配置方式,现在开发基本不用了,大家了解即可。

(2)映射路径中使用通配符有时候,我们希望某个目录下的所有路径都可以访问同一个Servlet,这时,可以在Servlet映射的路径中使用通配符”*”。如下所示:

1)/servlet/*

这种属于路径匹配,通配符”*”为后缀,/servlet/a、/servlet/b都与/servlet/*匹配。

2)*.do

这种属于扩展名匹配,通配符”*”为前缀,/abc/a.do、/a.do都与*.do匹配。

3)/*

这种属于完全匹配,通配符”*”为后缀,匹配所有路径。需要注意的是:

通配符要么在开头,要么在结尾,不能在中间,/*.do就

是错误的使用。

如果不使用通配符,那么的内容必须以”/”开头,

abc就是错误的。

三种通配符匹配方式的优先级是匹配的范围越大优先级越低。如1-8所示:

例1-8匹配优先级

hello1

cn.itcast.servlet.Hello1Servlet

hello1

/servlet/hello1

hello2

cn.itcast.servlet.Hello2Servlet

hello2

/servlet/*

根据例1-8的配置,当在浏览器端访问http://localhost:8080/Example13/servlet/hello1时,hello1和hello2都能够匹配,但是由于hello1匹配的更加准确,范围更小,所以访问的是hello1这个Servlet。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值