Servlet的生命周期
Servlet执行的过程
- 浏览器发出请求到
Tomcat服务器 - 服务器收到请求后判断要访问的是哪一个应用
- 然后找到应用的
web.xml,从其中找到路径映射的Servlet
查找顺序:应用的classes目录–>应用的lib下面的jar包–>Tomcat/lib下的jar包 - 找到对应的类
- 实例化
Servlet对象,(只有在第一次访问的时候进行实例化,除非配置为load-on-startup,在服务器启动时就进行加载) - 调用
init()方法 - 调用
service()方法 - 服务器返回相应结果
服务器在Servlet创建之前的准备工作
- 读取
web.xml文件,首先读取<context-parm></context-parm>节点,然后创建一个ServletContext实例,name为键,value为值。存储到上下文环境中。 - 读取
<listener></listener>节点,根据配置的class路径创建监听。 - 读取
<filter></filter>节点,根据路径去实例化过滤器。
Servlet的生命周期
init()–>service()–>destroy()
1. init():负责初始化Servet对象,只调用一次。
2. service():单实例多线程,处理响应客户端请求。
3. destroy():终止Servlet,只调用一次。
Servlet创建和销毁的时间
- 客户端首次请求Servlet时,Servlet容器会判断内存中是否存在该Servlet,如果不存在则创建它
- Servlet容器停止或者重新启动时,Servlet容器调用Servlet的destroy方法来释放资源。
本文详细介绍了Servlet的生命周期,包括Servlet的创建、初始化、服务和销毁过程。重点讲解了服务器如何根据web.xml配置文件找到并实例化Servlet,以及Servlet的init()、service()和destroy()方法的调用时机。
9891

被折叠的 条评论
为什么被折叠?



