Servlet生命周期
来源:互联网 发布:海岛奇兵菊花升级数据 编辑:程序博客网 时间:2024/04/19 08:12
Servlet实现
如果要开发一个可以处理HTTP请求的Servlet程序,肯定是要继承HttpServlet类,而且在自定义的Servlet类中至少还要覆写HttpServlet类中提供的doGet()方法:
protected void doGet(HttpServletRequestreq,HttpServletResponseresp) throws ServletException,IOException
接收参数
由于Servlet本身也存在HttpServletRequest和HttpServletResponse对象的声明,所以就可以使用Servlet接收用户所提交的内容。
Servlet生命周期
Servlet程序是运行在服务器端的一段java程序,其生命周期将受到WEB容器的控制,生命周期包括:加载程序、初始化、服务、销毁、卸载五个部分。
生命周期对应的方法
No.
方法
类型
描述
1
public void init() throws ServletException
普通
Servlet初始化时调用
2
public void init(ServletConfig config) throws ServletException
普通
Servlet初始化时调用,可以通过ServletConfig读取配置信息
3
public abstract void service(ServletRequest req,ServletResponse res) throws ServletException,IOException
普通
Servlet服务,一般不会直接覆写此方法,而是使用doGet()或doPost()方法
4
public void destroy()
普通
Servlet销毁时调用
各个生命周期的作用
加载Servlet
WEB容器负责加载Servlet,当WEB容器启动的时候或者是在第一次使用这个Servlet的时候,容器会负责创建Servlet实例,但是用户必须通过部署描述符(web.xml)指定Servlet的位置(Servlet所在的包.类名称),成功加载之后,WEB容器会通过反射的方式对Servlet进行实例化。
初始化
当一个Servlet被实例化之后,容器将调用init()方法初始化这个对象,初始化的目的是为了让Servlet对象在处理客户端请求前完成一些初始化的工作,例如:建立数据库连接、读取资源文件信息等,如果初始化失败,则此Servlet将被直接卸载。
处理服务
当有请求提交时,Servlet将调用service()方法(常用的是doGet()或doPost())进行处理,在service()方法中,Servlet可以通过ServletRequest接收客户的请求,也可以利用ServletResponse设置响应信息。
销毁
当WEB容器关闭或者检测到一个Servlet要从容器中被删除时,会自动调用destroy()方法,以便让该实例释放掉所占用的资源。
卸载
当一个Servlet调用完destroy()方法后,此实例将等待被垃圾收集器所回收,如果需要再次使用此Servlet的时候,会重新调用init()方法初始化。
Servlet的生命周期由Servlet容器(如:Tomcat)控制
容器如何处理请求:
生命周期的各个阶段
Servlet在Tomcat中部署
Servlet的配置
0 0
- servlet生命周期
- Servlet 生命周期
- Servlet生命周期
- servlet生命周期
- Servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- servlet生命周期!
- Servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- servlet生命周期
- servlet生命周期
- github 详解详解
- 《Hadoop:The Definitive Guide 4th Edition》Chapter 1 Meet Hadoop
- ts
- [bzoj3455]供电网络
- 自定义cell
- Servlet生命周期
- 51单片机data,idata,xdata,pdata的区别
- iOS复制链接到剪贴板
- neuq oj 1038: 谭浩强C语言(第三版)习题4.8 C语言
- Redis教程(十二):服务器管理命令总结
- Java byte数据类型详解
- ts
- SPOJ COT(树上的点权第k大)
- Redis教程(十一):虚拟内存介绍: