Servlet和Maven项目

Servlet执行流程

通过默认端口号访问到Tomcat服务器

通过类名访问到对应的项目

通过自定义的相应路径,访问到注释中的同名路径

即为执行流程

相应的Servlet对象由Tomcat服务器创建,并由它调用

相关方法:

Servlet生命周期

会执行doGet()方法

其生命周期由容器来管理,分为4个阶段:

1、加载和实例化:

默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象;

非默认情况下,可以通过@WebServlet(urlPatterns="/demo",loadOnStartup=1)进行Servlet对象的创建:1、负整数(默认情况) 2、0或者正整数(服务器启动时创建Servlet对象,数字越小优先级越高)

2、初始化:

在实例化之后,容器将会调用Servlet的init()方法初始化这个对象(默认情况下,Servlet第一次被访问时调用)

3、请求处理:

每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理

4、服务终止:

容器调用Servlet对象的destroy()方法完成资源的释放

1、HttpServlet使用步骤

1、继承HttpServlet
2、重写doGet和doPost方法

2、HttpServlet原理

获取请求方式,并根据不同的请求方式,调用不同的doXxx方法

urlPattern配置

1、一个Servlet,可以配置多个urlPattern(数组形式)

2、urlPattern配置原则
### 1、精确匹配

配置路径:@WebServlet("/user/select")
访问路径:localhost:8080/tt0924/user/select

2、目录匹配

配置路径:@WebServlet("/user/")
访问路径:localhost:8080/tt0924/user/

3、扩展名匹配

配置路径:@WebServlet("*.do")
访问路径:localhost:8080/tt0924/aaa.do
或者:localhost:8080/tt0924/bbb.do

4、任意匹配

配置路径:@WebServlet("/")

或者:@WebServlet("/*")

访问路径:localhost:8080/tt0924/hehe

或者:localhost:8080/tt0924/haha

如果有的路径,多个匹配条件均满足,那么会优先选择匹配更为精确的那一个

当然,/和/*还是有一定的区别的,
当在项目中的Servlet配置了“/”,会覆盖掉tomcat中的DefaultServlet,当其他的url-pattern都匹配不上时,都会走这个Servlet

当在项目中配置了“/*”,意味着匹配任意访问路径

posted @ 2022-09-24 21:50  yesyes1  阅读(33)  评论(0编辑  收藏  举报