关于Servlet对象的生命周期
来源:互联网 发布:初级程序员怎么报名 编辑:程序博客网 时间:2024/05/16 06:18
1、什么是生命周期?
生命周期表示一个java对象从最初被创建到最终被销毁,经历的所有过程。
2、Servlet对象的生命周期是谁来管理的?程序员可以干涉吗?
Servlet对象的生命周期,javaweb程序员是无权干涉的,包括该Servlet对象的相关方法的调用,javaweb程序员也是无权干涉的。
Servlet对象从最初的创建,方法的调用,以及最后对象的销毁,这个过程,是由Web容器来管理的。
Web Container管理Servlet对象的生命周期。
3、“默认情况下”,Servlet对象在WEB服务器启动阶段不会被实例化。【若希望在Web服务器启动阶段实例化Servlet对象,需要进行特殊的设置】
4、描述Servlet对象的生命周期
1)用户在浏览器中输入Serlvet的URL
2)web容器截取请求链接
3)web容器在容器上下文中找请求路径对应的Servlet对象
4)若没有找到对应的Servlet对象
4.1)通过web.xml文件中的相关配置信息,得到请求路径对应的Servlet对象
4.2)通过反射机制,调用Servlet类的无参构造方法完成Servlet对象的实例化
4.3)web容器调用Servlet对象的init方法完成实例化操作
4.4)web容器调用Servlet对象的service方法提供服务
5)若找到对应的Servlet对象
5.1)web容器直接调用Servlet对象的service方法提供服务
6)web容器关闭的时候/webapp重新部署的时候/该Servlet对象长时间没有用户再次访问的时候,web容器会将该Serlvet对象销毁,在销毁该对象之前,web容器会调用Servlet对象的destory方法,完成销毁之前的准备。
5、总结:
5.1)Servlet类的构造方法只执行一次
5.2)Servlet对象的init方法只执行一次
5.3)Servlet对象的service方法,只要用户请求一次,则执行一次
5.4)Servlet对象的destory方法,只执行一次
6、注意
init方法执行的时候,Servlet对象已经被创建好了。
destory方法执行的时候,Servlet对象还没有被销毁,即将被销毁
7、Servlet对象是单例,但是不符合单例测试,只能称为伪单例。真单例的构造方法是私有化的,Tomcat服务器是支持多线程的。所以Servlet对象在单实例多线程的环境下运行的。那么Servelet对象中若有示例变量,并且示例变量涉及到修改操作,那么这个Servlet对象一定会存在线程安全问题,不建议在Servlet对象中使用实例变量,尽量使用局部变量。
- 关于Servlet对象的生命周期
- 关于Servlet对象的生命周期
- servlet对象的生命周期
- Servlet对象的生命周期
- 关于Servlet的生命周期
- 关于Servlet的生命周期
- 关于Servlet的生命周期
- 关于Servlet的生命周期
- 关于servlet的生命周期
- 关于Servlet和Servlet的生命周期
- servlet的对象创建和生命周期
- 关于对Servlet生命周期的理解
- 关于对Servlet生命周期的理解
- 关于Servlet的生命周期和线程安全
- 黑马程序员--关于servlet的生命周期整个过程
- 关于Servlet的生命周期与工作原理
- [Servlet]Servlet的生命周期
- 【Servlet】Servlet的生命周期
- Linux中Access Modify Change以及find指令的含义
- Leetcode6——ZigZag Conversion
- CSS基础
- day06 linux 知识
- KMP的应用
- 关于Servlet对象的生命周期
- String,StringBuilder,StringBuffer
- 对UI自动化测试的一些感悟
- 数据结构与算法分析经典高清珍藏版
- AngularJs服-jsonp解决跨域问题
- MATLAB中将图片数据存储为.mat格式
- wifi搜索
- Fragment使用(1)
- 函数参数的传递