Servlet 生命周期详解

客户端请求该servlet

加载servlet类到内存

实例化、初始化该servlet

init()初始化参数

service()(doGet()或者doPost())

destroy()

加载和实例化Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。

Server创建一个Servlet的实例

第一个客户端的请求到达Server

Server调用Servlet的init()方法(可配置为Server创建servlet实例时调用,在web.xml中标签下配置标签,配置的值为整型,值越小servlet的启动优先级越高)

一个客户端的请求到达Server

Server创建一个请求对象,处理客户端请求

Server创建一个响应对象,响应客户端请求

Server激活Servlet的service()方法,传递请求和响应对象作为参数

service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息

service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法。

对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次(只有一个对象),当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。

你可能感兴趣的:(Servlet 生命周期详解)