init方法的调腩柽鬣盛用
当Servlet被装载并实例化后,容器会调用init方法对Servlet进行初始化,只有在init方法调用成功后,Servlet才处于霜杼厮贿service状态,能够处理客户端的请求。
注意:1)在整个Servlet的生命周期中init方法仅被调用一次
2)用户定义的Servlet中可以覆盖有参或无参的init方法,但是若覆盖有参init方法,最好先调用super.init(config),对变量config进行赋值初始化。而覆盖无参init可以不调用super.init(),推荐覆盖无参init,为了使用方便。
3)用户定义的Servlet中可以不去覆盖init方法,覆盖只是为了使用方便(如:获得web.xml中描述的初始化参数。
service方法的调用
当Servlet被装载实例化并初始化后,客户端发起请求,容器就会调用Servlet实例的service方法对请求进行处理。
注意:service方法在生命周期中被调用多次,这跟请求的次数有关。
Servlet实例的销毁
当容器在销毁Servlet实例前会先去调用destroy(),
在此方法中可以作下列工作:
1)恢复一些初始化的变量
2)释放资源
3)控制所有运行在Servlet中的线程在Servlet实例被销毁之前能正常运行结束
4)记录日志信息
注意:1)destroy()在生命周期中仅被调用一次
2)用户定义的Servlet中可以不覆盖destroy()