Servlet生命周期可以分为三个阶段:1、初始化阶段2、响应客户阶段3、终止(销毁)阶段
在javax.servlet.Servlet接口中定义了三个方法init(),service(),destroy(),它们将分别在Servlet不同的阶段被调用。
web 容器加载servlet,并将其实例化后,servlet生命周期开始:
1、容器运行其init()方法进行servlet的初始化。
2、请求到达时,运行其service()方法,service()方法自动派遣运行与之请求对应的doXXX()(doGet/doPost)方法。
3、当服务器决定将其实例销毁的时候调用其destroy()方法。
servlet执行时需要实现以下几个方法:
public void init(ServletConfig config)
public ServletConfig getServletConfig()
public String getServletInfo()
public void service(ServletRequest request,ServletResponse response)
public void destroy()
Servlet的初始化阶段
在下列时刻Servlet容器装载Servlet:
1、servlet容器启动后会自动装载某些实现,它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码:
<loadon-startup>1</loadon-startup>Servlet
2、在servlet容器启动后,客户首次向Servlet容器发出请求。
3、Servlet的文件被更新后,重新装载Servlet。
Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化,在Servlet生命周期中init()方法只会被调用一次。
Servlet的响应客户请求阶段
对于到达Servlet容器的客户请求,Servlet会创建针对这个请求的HttpRequest对象和HttpResponse对象,然后调用Servlet的service方法。Service方法从ServletRequest对象获得客户请求信息、处理该请求,并通过ServletResponse对象向客户端返回响应结果。
Servlet的终止阶段
当Web应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet的新实例时,Servlet容器会调用Servlet的destory方法。在destory方法中,可以释放Servlet所占用的资源。
136

被折叠的 条评论
为什么被折叠?



