多语言展示
当前在线:1562今日阅读:155今日分享:35

Servlet的初始化、销毁及方法调用详解

1、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中描述的初始化参数。2、service方法的调用 当Servlet被装载实例化并初始化后,客户端发起请求,容器就会调用Servlet实例的service方法对请求进行处理。 注意: service方法在生命周期中被调用多次,这跟请求的次数有关。3、Servlet实例的销毁 当容器在销毁Servlet实例前会先去调用destroy(), 在此方法中可以作下列工作:1) 恢复一些初始化的变量2) 释放资源3) 控制所有运行在Servlet中的线程在Servlet实例被销毁之前能正常运行结束4) 记录日志信息注意: 1) destroy()在生命周期中仅被调用一次 2) 用户定义的Servlet中可以不覆盖destroy()
推荐信息