一、Servlet 的映射路径
1、一个映射路径
1 <servlet-mapping>
2 <servlet-name>HelloServlet01</servlet-name>
3 <url-pattern>/hello</url-pattern>
4 </servlet-mapping>
2、多个映射路径
1 <servlet-mapping>
2 <servlet-name>HelloServlet01</servlet-name>
3 <url-pattern>/hello</url-pattern>
4 </servlet-mapping>
5 <servlet-mapping>
6 <servlet-name>HelloServlet01</servlet-name>
7 <url-pattern>/hello1</url-pattern>
8 </servlet-mapping>
9 <servlet-mapping>
10 <servlet-name>HelloServlet01</servlet-name>
11 <url-pattern>/hello2</url-pattern>
12 </servlet-mapping>
3、默认请求路径
1 <servlet-mapping>
2 <servlet-name>HelloServlet01</servlet-name>
3 <url-pattern>/*</url-pattern>
4 </servlet-mapping>
4、指定一些后缀或者前缀
1 <servlet-mapping>
2 <servlet-name>HelloServlet01</servlet-name>
3 <url-pattern>*.do</url-pattern>
4
5 </servlet-mapping>
6
7 <url-pattern>/hello/*.do</url-pattern> 错误的
自定义后缀实现请求映射,注意点:*号前面不能加映射的路径
5、优先级问题
指定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求。
二、注解版的 servlet
urlpartten:Servlet 访问路径
1、一个 Servlet 可以定义多个访问路径,在使用@WebServlet注解时,可以发现里面的 urlpartten 是一个数组,
String[] urlPatterns() default {};
这就意味着可以对 Servlet 定义多个路径:
Demo:
@WebServlet({"/a1","/aa1","/aaa1"})
2、路径定义规则:
(1)/xxx:路径匹配,单层路径
(2)/xxx/xxx:多层路径,目录结构
(3)*.do:扩展名来匹配
注意:这里的星号(*)来作为通配符,表示可以匹配一切,但是优先级非常低,只有其他的匹配不到,才会匹配到星号的。