JavaWeb之【Servlet对象的生命周期】

JavaWeb之【Servlet对象的生命周期】,第1张

一、什么是Servlet对象的生命周期 Servlet对象是由谁来维护

(1)Servlet对象的创建,对象上方法的使用,对象最终的销毁,JavaWeb程序员是无权干预的。

(2)Servlet对象的生命周期是由Tomcat服务器(WEB Server)全权负责

(3)Tomcat服务器通常我们又称为:WEB容器(WEB Container)

(4)注意:自己new的Servlet对象是不受WEB容器管理的。

(5)WEB容器创建的Servlet对象,这些Servlet对象都会被放到一个集合中(HashMap),只有放到这个HashMap集合中的Servlet才能被WEB容器管理,自己new的Servlet对象不会被WEB容器管理。

服务器启动时,Servlet对象有没有被创建出来(默认情况下)

(1)默认情况下,服务器在启动时Servlet对象不会被创建。

(2)如何使Servlet对象在服务器启动时就被创建:在web.xml中的servlet标签中添加子标签load-on-startup,在该字标签中填写整数,缺省值就是不会创建对象,整数越小优先级越高,不能为负数。

Servlet的生命周期

(1)Servlet对象是单例的。【但是Servlet类并不符合单例模式,称为假单例。Tomcat只创建了一个Servlet对象,所以导致了单例。真正的单例,构造方法是私有化的。】

(2)无参构造方法、init方法只在第一次用户发送请求的时候执行。

(3)只要用户发送一次请求,service方法就被Tomcat调用一次。

(4)服务器关闭时,Servlet的destroy方法只被Tomcat调用一次,服务器在销毁对象之前,Tomcat服务器会自动调用对象的destroy方法。

(5)destroy方法执行的时候,Servlet对象还在,执行之后对象才被销毁。【因为destroy方法是实例方法】

二、Serlvet接口的五个方法 init()

1、通常在init()中做初始化 *** 作,并且这个初始化 *** 作只用执行一次。例如:初始化数据库连接池,初始化线程池....

2、init()方法用的较少

destroy()

1、通常在destroy()方法中,进行资源的关闭,或者资源的保存 *** 作。

2、用的也较少

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/731509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存