servlet相关生命周期(二)

时间:2022-12-23 07:50:53

1.javaWeb生命周期

  javaWeb的生命周期包括三个阶段:启动阶段,运行阶段,终止阶段。

  1.1:启动阶段

    servlet在启动Web应用的时候,会完成如下步骤。

    (1)把web.xml文件加载到内存中。

    (2)为javaWeb应用创建一个ServletContex 对象。

    (3)对所有过滤器(Filter)初始化。

    (4)对那些在Web应用启动时就要初始化的Servlet进行初始化。(参考servlet生命周期)。

  1.2:运行阶段

    这个阶段是JavaWeb应用最主要的生命阶段。这个阶段中,相关初始化的Servlet都处于待命状态,随时响应客户端的请求。如果客户端请求的Servlet不存在,则初始化后调用其Service()方法提供服务。

  1.3:终止阶段

    终止阶段会完成如下步骤

    (1)销毁javaWeb应用所有处于运行状态的servlet。

    (2)销毁javaWeb应用所有的过滤器(Filter)。

    (3)销毁JavaWeb应用相关对象,如ServletContext 对象等。

2.Servlet生命周期

  servlet的生命周期由servlet容器控制。

  servlet生命周期分为三个阶段:初始化阶段,运行阶段,销毁阶段。

  2.1 初始化阶段

    servlet初始化条件

    (1)javaWeb应用在运行阶段,首次访问servlet,servlet都会被初始化。

    (2)如果在web.xml文件中为servlet设置了<load-on-startup>元素,那么servlet在javaWe应用启动的时候就会初始化。

    servlet初始化阶段包括如下四个步骤。

    (1)servlet容器加载servlet类的.class文件到内存中.

    (2)servlet容器创建ServletConfig对象。(ServletConfig 对象包含特定servlet的配置信息,如初始化参数。此外,servlet容器还会将创建的ServletConfig对象与ServletContext 对象关联)。

    (3)Servlet容器创建Servlet对象。

    (4)Servlet容器调用Servlet的intt(ServletConfig servletConfig)方法。

  2.2运行阶段

    这是servlet生命周期中最重要的阶段。在这个阶段,servlet会随时响应客户端的请求。servlet容器接受到客户端的请求然后创建,servletRequest对象和servletResponse对象,然后调用对应servlet类的service方法,service()方法从serveletRequest方法中获取请求数据,处理完成后通过servletResponse对象返回结果。

  2.3销毁阶段

    当javaWeb应用被终止时,servlet容器会首先调用javaWeb应用中所有运行状态的servlet类的destroy()方法,然后在销毁这些servlet对象。