servlet生命周期一般分为4个:
加载----实例化------服务-----销毁
(1)加载:
加载一般是在运行tomcat容器时来完成,将servlet类加载到tomcat中,或者是客户端发来请求时也可以
(2)实例化:
实例化是一般是即读取配置信息、读取初始化参数等,这些基本上在整个生命周期中只需要执行一次。关于init()方法已经在积累GeneriServlet中提供缺省实现,如果不需特殊处理则没有必要在进行定义,否则要重写。
(3)服务:
服务一般是容器接收到客户端请求时,servlet引擎将创建一个servletrequest请求对象和一个servletrequest响应对象,然后这两个对象作为参数传递给对应servlet对象的service()方法,该方法是一个重点实现的方法,servletrequset对象可以获得客户端发出请求的相关信息,如请求参数等,servletresponse对象可以使得servlet建立响应头和状态代码,并可以写入响应内容返回客户端,再次说明一点当servlet中有doGet() 或者doPost() 方法时,那么service() 方法就可以省略,默认为调用这两个方法。
销毁:
一般是servlet的卸载是由容器本身定义和实现,再卸载servlet之前需要调用destory() 方法,以让servlet自行释放占用的系统资源,虽然java虚拟机提供了垃圾自动回收机制,但是有一部分资源确实该机制不能处理或延迟很久才能处理的,如关闭文件释放数据等。一般tomat关闭。servlet就会被销毁,如果想提前销毁,可以写一个监听器。
一个servlet的生命周期市很短暂的。