实现servlet虚拟路径的映射(多重路径映射)

在web.xml中,一个 元素用于映射一个servlet的对外访问路径,该路径也被称为虚拟路径。如下:

配置web.xml


单路径映射

<servlet>
	<servlet-name>TestServlet01servlet-name>
	<servlet-class>cn.itcast.servletservlet-class>
servlet>
<servlet-mapping>
  
  <servlet-name>TestServlet01servlet-name>
  <url-pattern>/testurl-pattern>
servlet-mapping>

多路径映射
配置多个

<servlet>
	<servlet-name>sssservlet-name>
	<servlet-class>ss.cs.xfservlet-class>
servlet>
<servlet-mapping>
	<servlet-name>sssservlet-name>
	<url-pattern>/xxurl-pattern>
servlet-mapping>
<servlet-mapping>
	<servlet-name>sssservlet-name>
	<url-pattern>/aaaurl-pattern>
servlet-mapping>
<servlet-mapping>
	<servlet-name>ssssservlet-name>
	<url-pattern>/lsldurl-pattern>
servlet-mapping>

通过多重映射,一个servlet文件就被映射成3个访问路径分别是/xx、/aaa、/lsld

配置多个

<servlet>
	<servlet-name>lllservlet-name>
	<servlet-class>ss.xd.fsservlet-class>
servlet>
<servlet-mapping>
	<servlet-name>lllservlet-name>
	<url-pattern>/xsddsurl-pattern>
	<url-pattern>/dsfurl-pattern>
	<url-pattern>/dsdsurl-pattern>
	<url-pattern>/dsdurl-pattern>
servlet-mapping>

servlet映射路径中使用通配符

在实际开发中,开发者有时希望某个目录下的所有路径都可以访问同一个servlet,可以在servlet映射的路径中使用通配符“ * ”。通配符的格式有两种,如下:
(1)格式为“ *.扩展名 ”,列如“ *.do”匹配所有以.do结尾的所有url地址
(2)格式为“ /*”,列如 ==/abc/*==匹配以 /abc开始的所有url地址

缺省servlet

如果某个servlet的映射路径仅仅是一个正斜线(/),那么这个servlet就是当前web应用的缺省servlet,servlet服务器在接收到访问请求时,如果在web.xml中没有找到匹配的元素的url,就会将该请求交给缺省servlet处理,也就是说缺省servlet用于处理其他servlet都不处理的请求。

<servlet>
	<servlet-name>testservlet-name>
	<servlet-class>dfd.c.sfdservlet-class>
servlet>
<servlet-mapping>
	<servlet-name>testservlet-name>
	<url-pattern>/pattern>
servlet-mapping>

你可能感兴趣的:(Java)