【Servlet】Servlet的生命周期

来源:互联网 发布:网络检测器怎么用 编辑:程序博客网 时间:2024/04/24 21:37

Servlet的生命周期


  • Servlet的生命周期
    • Servlet执行的过程
    • 服务器在Servlet创建之前的准备工作
    • Servlet的生命周期
    • Servlet创建和销毁的时间


Servlet执行的过程

  1. 浏览器发出请求到Tomcat服务器
  2. 服务器收到请求后判断要访问的是哪一个应用
  3. 然后找到应用的web.xml,从其中找到路径映射的Servlet
    查找顺序:应用的classes目录–>应用的lib下面的jar包–>Tomcat/lib下的jar
  4. 找到对应的类
  5. 实例化Servlet对象,(只有在第一次访问的时候进行实例化,除非配置为load-on-startup,在服务器启动时就进行加载)
  6. 调用init()方法
  7. 调用service()方法
  8. 服务器返回相应结果

服务器在Servlet创建之前的准备工作

  1. 读取web.xml文件,首先读取<context-parm></context-parm>节点,然后创建一个ServletContext实例,name为键,value为值。存储到上下文环境中。
  2. 读取<listener></listener>节点,根据配置的class路径创建监听。
  3. 读取<filter></filter>节点,根据路径去实例化过滤器。

Servlet的生命周期

init()–>service()–>destroy()
1. init():负责初始化Servet对象,只调用一次。
2. service():单实例多线程,处理响应客户端请求。
3. destroy():终止Servlet,只调用一次。

Servlet创建和销毁的时间

  1. 客户端首次请求Servlet时,Servlet容器会判断内存中是否存在该Servlet,如果不存在则创建它
  2. Servlet容器停止或者重新启动时,Servlet容器调用Servlet的destroy方法来释放资源。
原创粉丝点击