生命周期(Life Cycle )指的是对象的产生到销毁的过程。
servlet 的生命周期是有四个阶段:
实例化 –> 初始化 –> 应用阶段(请求处理) –> 销毁
创建 Servlet 实例。
Web 容器调用 Servlet 的 init() 方法,对Servlet 进行初始化。
Servlet 初始化后,将一直存在于容器中,用于响应客户端请求。根据客户端的请求方式
通过 Servlet 中service() 方法去相应的 goGet(),或 doPost() 方法;
Web 容器销毁Servlet 时,调用 Servlet 的 destroy() 方法,通常在关闭Web容器之时销毁Servlet。
servlet 生命周期的三个方法:
init()方法:Servlet实例化时调用此方法
Service()方法:客户请求和响应调用此方法。
Destroy()方法:释放内存,关闭web服务器调用此方法
扩展: servlet 单实例、多线程
servlet中的init方法只有在启动(例如一个查询用户信息的请求和一个删除用户的请求共享
同一个servlet对象)的时候调用,也就是只初始化一次,这就是单实例。
一个web容器可以管理或存放多个servlet,比如:用户管理的servlet,商品管理的servlet等,
servlet体系结构是建立在java多线程机制之上的,servlet容器会自动使用线程池等技术来支
持系统的运行。web 容器本身就是提供的多线程。
jsp 的生命周期:
浏览器首先要请求一个以.jsp扩展名结尾的页面,发起JSP请求,然后,Web服务器读取这
个请求,使用JSP编译器把JSP页面转化成一个Servlet类。需要注意的是,只有当第一次请
求页面或者是JSP文件发生改变的时候JSP文件才会被编译,然后服务器调用servlet类,处理
浏览器的请求。一旦请求执行结束,servlet会把响应发送给客户端。
jsp 的生命周期分为四个阶段:
1.编译
2.初始化
3.执行
4.销毁