📅  最后修改于: 2021-01-09 12:29:59             🧑  作者: Mango
Web容器维护Servlet实例的生命周期。让我们看一下servlet的生命周期:
如上图所示,servlet处于三种状态:新建,就绪和结束。如果创建了servlet实例,则servlet处于新状态。调用init()方法后,Servlet进入就绪状态。在就绪状态下,servlet执行所有任务。当Web容器调用destroy()方法时,它将转换为结束状态。
类加载器负责加载servlet类。当Web容器收到对Servlet的第一个请求时,将加载Servlet类。
Web容器在加载servlet类之后创建servlet的实例。 Servlet实例在Servlet生命周期中仅创建一次。
Web容器在创建Servlet实例后仅调用一次init方法。 init方法用于初始化servlet。它是javax.servlet.Servlet接口的生命周期方法。初始化方法的语法如下:
public void init(ServletConfig config) throws ServletException
每次收到Servlet请求时,Web容器都会调用服务方法。如果Servlet未初始化,则按照上述的前三个步骤进行,然后调用service方法。如果servlet被初始化,它将调用service方法。注意,servlet仅初始化一次。 Servlet接口的服务方法的语法如下:
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException
Web容器在从服务中删除Servlet实例之前调用destroy方法。它使Servlet有机会清理任何资源,例如内存,线程等。Servlet接口的destroy方法的语法如下:
public void destroy()