Servlet是运行在服务器端的Java程序,Web容器会控制它的声明周期。声明周期包括加载程序,初始化,服务,销毁,卸载等五个部分。
各个声明周期的介绍如下:
1.加载Servlet
Web容器在第一次使用Servlet时会创建Servlet实例,通过部署web.xml制定Servlet的位置,加载后web容器会通过反射的方式对Servlet进行实例化。
2.初始化
当Servlet被实例化以后,容器将调用init()方法初始化这个对象,为了让Servlet对象在处理客户端请求前完成初始化的工作,例如建立数据库连接,读取资源信息等,如果初始化失败,Servlet会被卸载。
3.处理服务
当有请求提交时,Servlet将调用service()(doPost或者doGet)方法进行处理,在service()方法中,Servlet可以接收客户端的请求,也可以返回响应信息。
4.销毁
当Web容器关闭或者其中的一个Servlet要被删除时,会自动调用destroy()方法,释放掉所占用的资源。
5.卸载
当Servlet调用了destroy()方法后,这个实例会被垃圾回收器回收,如果再次使用则重复步骤1。
在web.xml中,可以通过配置设置在容器启动时,就自动为Servlet初始化。
<servlet> <servlet-name>life</servlet-name> <servlet-class>com.zzh.Servlet.InputServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>配置完成后,Web容器启动时,Servlet会自动进行初始化的操作。