美文网首页
Servlet-07(Servlet的生命周期)

Servlet-07(Servlet的生命周期)

作者: 西谷haul | 来源:发表于2020-05-14 17:05 被阅读0次

(1)什么是Servlet的生命周期?

Servlet容器如何创建Servlet对象、如何对其进行初始化、如何调用其方法 来处理请求,以及如何销毁该对象的整个过程。 也就是说,容器是如何管理Servlet的。

image.png

(2)分成哪几个阶段?

1)实例化

a.什么是实例化?

容器调用Servlet的构造器,创建Servlet实例(对象)。

b.什么时候实例化?

情况1: 容器收到请求之后创建。
情况2: 容器启动之后,立即创建(需要配置)。

    <!-- 配置启动加载。容器启动之后,会立即创建该servlet对象。
    值是一个大于等于零的整数,值越小,优先级越高(即优先被创建)-->
    <load-on-startup>1</load-on-startup>
注:容器只会创建一个实例!

2)初始化

a.什么是初始化?

容器在创建servlet实例之后,会立即调用该实例的init方法。
注: init方法只会执行一次!

b.GenericServlet已经提供了init方法的简单的实现。

将容器传递过来的ServletConfig对象保存下来了,并且提供了一个
方法(getServletConfig)来获得该对象。
image.png

c.初始化参数

step1.配置初始化参数
    <init-param>
        <param-name>company</param-name>
        <param-value>IBM</param-value>
    </init-param>

step2.读取
    String company = config.getInitParameter("company");

3)就绪(调用)

a.什么是就绪?

容器收到请求之后,会调用servlet的service方法来处理。

b.HttpServlet已经提供了service方法的实现。

该方法依据请求类型调用对应的doXXX方法。
    比如,get请求会调用doGet方法,post请求会调用doPost方法。
    doXXX方法只是抛出了一个异常。作为开发人员,只需要override doXXX方法即可。
注:也可以直接override HttpServlet的service方法。

image.png

4)销毁

a.什么是销毁?

容器在删除servlet实例之前,会调用该实例的destroy方法。
注:该方法只会执行一次!

b.GenericServlet已经提供了destroy方法的实现。

可以override GenericServlet的destroy方法,来实现
自己的销毁处理逻辑。
注:
    在init方法里如果我们获得了一些资源,比如数据库
    Connection等,就需要在destroy方法当中释放这些
    资源。

(3)相关的接口与类(了解)

a.Servlet接口

init(ServletConfig config);
service(ServletRequest req,ServletResponse res);
destroy();

b.GenericServlet抽象类

实现了Servlet接口中的部分方法(init,destroy)

c.HttpServlet抽象类

继承了GenericServlet,实现了service方法。

相关文章

  • Servlet-07(Servlet的生命周期)

    (1)什么是Servlet的生命周期? Servlet容器如何创建Servlet对象、如何对其进行初始化、如何调用...

  • Servlet入门(二)

    Servlet生命周期 Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期...

  • servlet生命周期及实现原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 Servlet生命周期分为...

  • Servlet 工作原理

    Servlet 生命周期 Servlet 生命周期:Servlet加载--->实例化--->服务--->销毁。 i...

  • java面试和笔试(四)

    61、servlet的生命周期 web容器加载servlet,生命周期开始。通过调用servlet的init()方...

  • 框架知识

    框架知识→ Servlet生命周期Servlet_生命周期:首先加载servlet的class,实例化servle...

  • Servlet生命周期

    Servlet 生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循...

  • Servlet生命周期

    Servlet生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的...

  • Servlet的生命周期

    Servlet 生命周期:Servlet 加载—->实例化—->服务—->销毁。 init():在Servlet的...

  • servlet学习(二):servlet的生命周期

    Servlet 生命周期指的是,Servlet 对象的创建、Servlet 对象的初始化、Servlet 对象服 ...

网友评论

      本文标题:Servlet-07(Servlet的生命周期)

      本文链接:https://www.haomeiwen.com/subject/ixfxohtx.html