Servlet的生命周期

Servlet是运行在Servlet容器(有时候也叫Servlet引擎,是web服务器和应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应。常用的tomcatjbossweblogic都是Servlet容器)中的,其生命周期是由容器来管理。Servlet生命周期通过java.servlet.Servlet接口中的init()、Service()、和destory()方法表示。Servlet的生命周期有四个阶段:加载并实例化、初始化、请求处理、销毁。
图片

步骤:

1.      Servlet容器负责加载和实例化Sevlet。当容器启动时,或者容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例。当容器启动后,Servlet通过类加载器来加载Servlet类,加载完成后再new一个Servlet对象来完成实例化操作。

2.      实例化操作完成后,会调用Init()方法,并传递实现ServletConfig接口的对象。在init()方法中,Servlet可以部署描述符中读取配置参数,或者执行任何其他一次性活动。在Servlet的整个生命周期类,init()方法只被调用一次。

3.      Servlet初始化后,容器就可以准备处理客户机请求了。当容器收到对这一Servlet的请求,就调用Servletservice()方法,并把请求和响应对象作为参数传递。当并行的请求到来时,多个service()方法能够同时运行在独立的线程中。通过分析ServletRequest或者HttpServletRequest对象,service()方法处理用户的请求,并调用ServletResponse或者HttpServletResponse对象来响应。当servlet完成一次请求和相应后,会等待下一个请求或有服务器将其销毁。

4.      一旦Servlet容器检测到一个Servlet要被卸载,这可能是因为要回收资源或者因为它正在被关闭,容器会在所有Servletservice()线程之后,调用Servletdestroy()方法。然后,Servlet就可以进行无用存储单元收集清理。这样Servlet对象就被销毁了。这四个阶段共同决定了Servlet的生命周期。

技术参考:

http://blog.csdn.net/chjttony/article/details/6086292

http://shouwangzhejuan-sina-cn.iteye.com/blog/890430

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值