URL配置
就是配置地址,在网页上输入的地址
地址栏中输入的url的前面为:http://localhost:8080/项目名/配的url
定义访问的方式
同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。
在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。
1. 以/开头:/代表的是工程路径(/工程名称)必须要加/
/* : 随便怎么访问:不管访问的地址是什么,都由写在servlet-name中的类来处理。
2. 以*开头:必须要加后缀名(后缀名任意)后缀名不能用*
注意:/*.后缀名:此种情况不允许
3. 如果只是配置一个/,那么此servlet就是一个默认的servlet,它用来处理所有找不到匹配的url的请求
系统也会有一个默认的这个配置,但是我们的工程下找的话,就是就近,配的是我们工程里面的,当没有输入项目名的时候,就会拿系统的默认的:
l如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。l凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。l在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。l 当访问 Tomcat 服务器中的某个静态 HTML 文件和图片时,实际上是在访问这个缺省 Servlet 。
对于如下的一些映射关系:
问题:
Servlet引擎将调用Servlet1。
Servlet引擎将调用Servlet3。
Servlet引擎将调用Servlet1。
Servlet引擎将调用Servlet2。
Servlet引擎将调用Servlet2。
l 配置优先级: 精确匹配 > 以/开头的匹配 > 以*开头的匹配
l 如果配置成/ 那么就是一个缺省的servlet,此Servlet处理所有找不到匹配路径的url