一、归纳起来, JavaWeb的生命周期分为3个阶段:
启动阶段:当Web服务器启动的时,JavaWeb应用就启动了――加载一些数据。
运行时阶段:当服务器在运行时,也是它的运行阶段――提供服务
终止阶段:关闭服务器,或者我们手动终止时――释放资源。
?
二、Web应用启动阶段完成下面的操作:
把web.xml文件中的数据加载到内存
为JavaWeb应用创建一个ServletContext对象
对所有的Filter进行初始化
对那些需要在服务器启动时就初始化的Servlet进行初始化
?
三、运行时阶段:
在这个阶段,所有的Servlet都处于待命状态,随时可以响应客户端的特定请求。假如客户端请求的Servlet还没被初始化,服务器会先初始化该Servlet,然后再调用它的service方法。
?
四、终止阶段:
释放一些资源。
??
五、在Web应用的生命周期中,ServletContext对象最早被创建,最晚被销毁
1、在启动时,调用了ServletContextEvent的contextInitialized()方法,建立了ServletContext对象,之后才是初始化Filter..
2、在关闭时,等到其他所有的Servle和FIlter被销毁后,再调用了ServletContextEvent的contextEdstoryed()方法,销毁ServletContext对象。
?
3、可以自己创建监听器实现ServletContextEvent监听器,让一些数据在Web应用被启动的时候就启动。创建后,要把该监听器注册到服务器,在web.xml中加入:
<listener>
?????? <listener-class>自己的监听其的class[如:mypack....]</listener-class>
</listener>