1,应用程序中的对象不仅在空间上有层次结构的关系,在时间上也会因为处于程序运行过程中的不同阶段而表现出不同的状态和不同的行为---------这就是对象的声明周期
2,简单色叙述声明周期,就是对象在容器中开始常见到销毁的过程
① Servlet对象的创建:构造器
-
-
容器之所以能做到这一点是由于我们在注册Servlet时提供了全类名,容器使用反射技术创建了Servlet的对象。
② Servlet对象初始化:init()
-
Servlet容器创建Servlet对象之后,会调用init(ServletConfig config)方法。
-
作用:是在Servlet对象创建后,执行一些初始化操作。例如,读取一些资源文件、配置文件,或建立某种连接(比如:数据库连接)
-
init()方法只在创建对象时执行一次,以后再接到请求时,就不执行了
-
在javax.servlet.Servlet接口中,public void init(ServletConfig config)方法要求容器将ServletConfig的实例对象传入,这也是我们获取ServletConfig的实例对象的根本方法。
③ 处理请求:service()
-
在javax.servlet.Servlet接口中,定义了service(ServletRequest req, ServletResponse res)方法处理HTTP请求。
-
在每次接到请求后都会执行。
-
上一节提到的Servlet的作用,主要在此方法中体现。
-
同时要求容器将ServletRequest对象和ServletResponse对象传入。
④ Servlet对象销毁:destroy()
-
服务器重启、服务器停止执行或Web应用卸载时会销毁Servlet对象,会调用public void destroy()方法。
-
此方法用于销毁之前执行一些诸如释放缓存、关闭连接、保存内存数据持久化等操作。
4.4 Servlet请求过程
-
第一次请求
-
调用构造器,创建对象
-
执行init()方法
-
执行service()方法
-
-
后面请求
-
执行service()方法
-
-
对象销毁前
-
执行destroy()方法
-