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对象。