Servlet基本配置
# Servlet
类似于Node.js中的Express框架。
切记:Tomcat 10以上请使用依赖jakarta.servlet-api!
# 生命周期
![[Pasted image 20220610005814.png]]
# 继承关系
![[Pasted image 20220610202517.png]]
# UrlPattern匹配规则
UrlPattern支持几种匹配:
- 多匹配
- 精确匹配
- 目录匹配
- 扩展名匹配
- 任意匹配
匹配顺序是按代码顺序从上往下的,如果匹配到/sleep
就不会匹配/*
,因此通常/*
建议放在末尾
# 多匹配
@WebServlet(urlPatterns = {"/demo2","/demo3"})
用花括号包裹可以包含多个匹配路径
# 精确匹配
@WebServlet(urlPatterns = {"/demo2","/demo3"})
指明匹配路径
# 目录匹配
@WebServlet(urlPatterns = "/*")
/*
优先级高于/
# 扩展名匹配
@WebServlet(urlPatterns = "*.hello")
任何以.hello
结尾的,都会被匹配到
不支持以/
开头的路径,必须是末尾路径
# PATH XML配置方式
在Servlet 3.0后支持使用注解配置,但3.0前只能使用XML进行配置。该配置需要在WEB-INF -> web.xml
中配置
<!-- web.xml -->
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>Demo2</servlet-name>
<servlet-class>com.tommy.web.Demo2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Demo2</servlet-name>
<url-pattern>/demo2</url-pattern>
</servlet-mapping>
</web-app>
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
这种配置看上去比注解配置繁琐许多,因此只作了解。