Servlet生命周期

来源:互联网 发布:linux系统的命令 编辑:程序博客网 时间:2024/06/11 02:44
Servlet生命周期分为三个阶段:
  1,初始化阶段:调用init()方法
  2,响应客户请求阶段:调用service()方法
  3,终止阶段:调用destroy()方法

Servlet初始化阶段:

    1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码:<loadon-startup>1</loadon-startup> 
    2,在Servlet容器启动后,客户首次向Servlet发送请求
    3,Servlet类文件被更新后,重新装载Servlet
  Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次。servlet为单实例多线程模式。实例变量在主存上存储,多线程共享,非线程安全。jsp的8个变量,只有application是整个应用共享,非线程安全,别的都是线程安全。

Servlet终止阶段:
  当WEB应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet新实例时,Servlet容器会先调用Servlet的destroy()方法,在destroy()方法中可以释放掉Servlet所占用的资源。
-----------------------------------------------------------------------------------------------------------------------------------
Servlet何时被创建:
  1,默认情况下,当WEB客户第一次请求访问某个Servlet的时候,WEB容器将创建这个Servlet的实例。
  2,当web.xml文件中如果<servlet>元素中指定了<load-on-startup>子元素时,Servlet容器在启动web务器时,将按照顺序创建并初始化Servlet对象。
  注意:在web.xml文件中,某些Servlet只有<serlvet>元素,没有<servlet-mapping>元素,这样我们无法通过url的方式访问这些Servlet,这种Servlet通常会在<servlet>元素中配置一个<load-on-startup>子元素,让容器在启动的时候自动加载这些Servlet并调用init()方法,完成一些全局性的初始化工作。
Web应用何时被启动:
  1,当Servlet容器启动的时候,所有的Web应用都会被启动
  2,控制器启动web应用

0 0
原创粉丝点击