Servlet中<url-pattern>的优先级

我们可以从简单的一个demo中体现出来

这个demo模块有web框架支持

例如我们写一Hello,Servlet

首先我们先在pom.xml中配置servlet

<dependencies>
<!-- https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>

其次创建一个类:helloServlet

 

 

 

然后在web.xml中注册servlet,映入我们写好的helloServlet类;

 

<url-pattern>去掉上下文路径剩余的路径</url-pattern>

匹配顺序
(1)精准匹配(优先级最高)
(2)路径匹配
(3)后缀名匹配
(4)缺省匹配

1、精准匹配
在<url-pattern>标签中设置精准路径,地址栏中只有输入正确的路径才能匹配对应的servlet映射

 
2、路径匹配
在标签中设置路径,地址栏中输入相同路径下的任何路径都会匹配对应的servlet映射
如:hello下的所有路径都会匹配,并实现<servlet-class>标签下的类

 

 3、后缀名匹配

在标签中设置后缀名,地址栏中输入任何路径,文件名的后缀相对应就能匹配对应的servlet,实现<servlet-class>

 

4、默认匹配

未在<url-pattern>标签中设置时,执行默认的index.jsp文件

 

5、缺省匹配

以上servlet未能找到时,就用默认的servlet;

 

 

 

 

posted @ 2022-09-21 19:23  mo-de  阅读(106)  评论(0)    收藏  举报