Servlet的生命周期
Servlet 的生命周期就是从Servlet出现到销毁的全过程,主要分为以下几个阶段
加载类--->实例化(为对象分配空间)--->初始化(为对象的属性赋值)--->请求处理(服务阶段)--->销毁
服务器启动时(Web.xml中配置load-on-startup=1,默认为0)或者第一次请求改Servlet时,就会初始化一个Servlet对象,也就是会执行初始化方法,init(ServletConfig conf),该Servlet对象去处理所有客户端请求,service(ServletRequest req,ServletResponse res)方法中执行,最后服务器关闭时,才会销毁这个servlet对象,执行dertory()方法
1.加载和实例化
客户端发送http请求到Servlet容器,解析请求,查找内存中是否存在该Servlet实例,若无则创建一个实例
2.初始化
Servlet容器将调用Servlet的init()方法进行初始化,做一些准备工作或者资源预加载工作
3.服务
初始化之后,Servlet处于能够响应请求的就绪状态,当接收到客户端请求时,调用Servlce()方法处理客户端请求,httpServlet的service()方法会根据不同的请求,转调不用的doXXX()方法
4.销毁
当Servlet容器关闭是,Servlet的实例也随时销毁,其间,Servlet容器会调用Servlet的destroy()方法,去判断该Servlet是否应当被释放(或回收资源)