关于Servlet生命周期总结

javaWeb应用的生命周期是有servlet容器来控制的,而servlet是JavaWeb最核心的组件。其生命周期也是有servlert容器来控制的。
                

servlet的生命周期分为3个阶段:初始化阶段、运行时阶段、销毁阶段。在javax.servlet.Servlet 接口方法中,定义了3个方法:init()、service()和destroy()。他们将分别在不同阶段被servlet容器调用。

初始化阶段:

此阶段分为4个步骤:

(1)Servlet容器加载Servlet类,把他的.class文件中的数据读取到内存中。
(2)Servlet容器创建ServletConfig对象,ServletConfig对象包含了特定Servlet的初始化配置信息,此外,Servlet容器还会是的ServletConfig对象与当前Web应用的ServletContext对象关联;
(3)Servlet容器创建Servlet对象。
(4)Servlet容器调用Servlet对象的init(ServletConfig config)方法。
       以上初始化步骤创建了Servlet对象和ServletConfig对象,并且Servlet对象与ServletConfig对象关联,而ServletConfig对象与当前的Web应用的ServletContext对象与ServletConfig对象关联。
       当Servlet容器初始化完Servlet后,Servlet对象只要通过个体ServletContext()方法就能获取当前Web应用中的ServletContext对象。
      在下列情况下,Servlet会进入初始化阶段。
(1)当前Web应用处于运行时阶段,特定的Servlet被客户端首次请求访问。多数Servlet都会在这种情况下被Servlet初始化。
(2)如果在Web.xml文件中为一个Servlet设置了元素,那么当Servlet启动Servlet所属的Web应用时,就会初始化这个Servlet。
(3)当Web应用被重新启动时,Web应用中的所有Servlet都会在特定的时刻重新初始化。

 

运行时阶段:

 

这是Servlet的生命周期最重要阶段。在这个阶段,Servlet可以随时相应客户端的请求。当Servlet容器接受到要请求访问特定Servlet的客户请求时,Servlet容器会创建针对这个请求的ServletRequest对象和

 ServletResponse对象,然后调用相关的Servlet对象的service()方法,service()方法从ServletRequest请求中获取客户请求信息并处理改请求,在通过ServletResponse对象生成响应结果。

当Servlet容器把Servlet生成的相应结果发送给了客户,Servlet容器就会销毁ServletRequest对象和ServletResponse对象。

 销毁阶段:

当Web应用被终止时,Servlet容器会先调用Web应用中所有Servlet对象的destory()方法,然后再销毁这些Servlet对象。在destory()方法的实现中,可以释放Servlet所占用的资源(数据库连接、IO)。

你可能感兴趣的:(JavaWeb,Java)