9. Servlet入门 - Servlet执行原理、Servlet路径的配置url-pattern的三种方式
前言
在上一章中,我们已经掌握了使用 web.xml
配置 Servlet 路径,以及 使用 注解的配置路径方式。
下面来看看 Servlet 执行原理,以及配置 url-pattern
的三种方式。
Servlet执行原理
img
通过上述流程图我们重点需要掌握如下几个点:
- Servlet对象是由服务器创建(反射)
- request与response对象也是由tomcat服务器创建
- service()方法也是服务器调用的
Servlet路径的配置url-pattern 的三种方式
1.完全路径匹配: 以 / 开始. 注: 访问的路径不能多一个字母也不能少一个(一般就使用这种方式)
代码语言:javascript复制例如: 配置了/demo01 请求的时候必须是: /demo01
image-20201223222457939
2.目录匹配 "以 / 开始需要以 * 结束. 注: Servlet里面用的 不多, 但是过滤器里面通常就使用目录匹配
代码语言:javascript复制例如: 配置/* 访问/a, /aa, /aaa; 配置 /aa/* 访问 /aa/b , /aa/cc
image-20201223222732350
3.扩展名匹配不能以 / 开始, 以 * 开始的 .
代码语言:javascript复制例如: *.action; 访问: aa.action, bb.action, c.action; 错误写法: /*.do, 不可以写*.jsp,*.html
image-20201223223021390
代码语言:javascript复制@WebServlet("*.action") // 注意,不能以 / 开头
public class ServletDemo2 implements Servlet {
4. 注意的地方:
- 一个路径只能对应一个servlet, 但是一个servlet可以有多个路径
- tomcat获得匹配路径时,优先级顺序:完全路径匹配> 目录匹配 > 扩展名匹配