教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Java培训之Servlet虚拟路径映射

更新时间:2016年04月26日15时50分 来源:澳门大阳城APP入口Java培训学院 浏览次数:

在web.xml文件中,一个元素用于映射一个Servlet的对外访问路径,该路径也称为虚拟路径。例如/TestServlet,其中“/TestServlet”就是一个虚拟路径。创建的Servlet只有在web.xml中映射了虚拟路径,客户端才能访问。但是,在映射Servlet时,有一些细节问题需要注意,比如Servlet的多重映射,在映射路径中使用通配符等,接下来,针对这些问题进行详细解释,具体如下:
(1)Servlet的多重映射
Servlet的多重映射是指同一个Servlet可以被映射成多个虚拟路径,即客户端可以通过多个路径访问同一个Servlet,具体如下:
可以在标签中配置多个标签,如例1-7所示:
 
    AServlet
    /AServlet
    /BServlet
 
 
如例1-1所示,AServlet配置了多个url-pattern,在浏览器端地址栏通过http://localhost:8080/Example13/AServlet和http://localhost:8080/Example13/BServlet都能够过访问到AServlet。但是这种配置方式,现在开发基本不用了,大家了解即可。
(2)映射路径中使用通配符
有时候,我们希望某个目录下的所有路径都可以访问同一个Servlet,这时,可以在Servlet映射的路径中使用通配符”*”。如下所示:
  1. /servlet/*
这种属于路径匹配,通配符”*”为后缀,/servlet/a、/servlet/b都与/servlet/*匹配。
  1. *.do
这种属于扩展名匹配,通配符”*”为前缀,/abc/a.do、/a.do都与*.do匹配。
  1. /*
这种属于完全匹配,通配符”*”为后缀,匹配所有路径。
需要注意的是:
  • 通配符要么在开头,要么在结尾,不能在中间,/*.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。




本文版权归澳门大阳城APP入口Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:澳门大阳城APP入口Java培训学院
首发:http://www.itcast.cn/javaee 
0 分享到:
和我们在线交谈!
Baidu
sogou