Servlet的生命周期
首先加载servlet的class文件,实例化servlet,然后初始化servlet调用init()方法,接着调用service()方法处理doGet()和doPost()方法,最后容器关闭时调用destroy销毁方法
-
加载
- 如果以配置加载选项,则在启动服务器时自动加载(web.xml中设置);
- 在服务器启动后,客户机首次向servlet发出请求时;
- 重新加载servlet时(只执行一次);
-
实例化:加载servlet之后,服务器创建一个servlet实例(只执行一次);
-
初始化:调用servlet的init()方法。在初始化阶段,servlet初始化参数被传递给Servlet配置对象ServletConfig(只执行一次);
-
处理请求:到达服务器的请求,服务器创建针对此次请求的一个"请求"对象和一个"响应对象"。service()方法从请求对象中获得请求信息、处理该请求并用“响应”对象的方法响应给客户端。service()方法可以其他方法来处理请求,例如:doGet(),doPost()等等。
-
销毁:当服务器不需要servlet,或重新加载servlet的实例时,服务器会调用servlet的destroy()方法(只执行一次);