Servlet的生命周期

1.什么是Servlet生命周期:

  • Servlet容器如何创建Servlet对象、如何为Servlet对象分配、准备资源、如何调用对应的方法来处理请求以及如何销毁Servlet对象的整个过程即Servlet的生命周期。
    在这里插入图片描述
    2.生命周期的四个阶段: 实例化+初始化(给这个对象预置一些数据)+就绪+销毁
  • 1)实例化(创建对象=实例化):何时实例化:默认是首次访问Servlet是实例化:也可以在容启动之后立刻创建实例;如何实现(在配置servlet-class属性标签后面加1)注:容器只会创建一个实例。参数值要求是一个大于等于0的整数,越小,优先级越高(即先创建)。
  • 2)初始化(给这个对象预置一些数据) Servlet创建必须初始化它的初始化就是调用init()方法。
    如何实现:GenericServlet的init方法是如何实现的将容器传递过来的ServletConfig对象保存下来,并且提供了一个获得该对象的方法(getServletConfig), 如何实现自已的初始化处理逻辑只需要override
    GenericServlet提供的init()方法。
    A、怎么配置数据(如何配置Servlet的初始参数):在web中servlet-calss属性标签之后load-on-startup属性标签之前加:如果要配置多数据甲多个节点。
<init-param>
  		<param-name>city</param-name>
  		<param-value>北京</param-value>
</init-param>

在这里插入图片描述
B、如何获取该初始参数在Servlet文件中从写他爷爷的init()方法可以通过:getServletConfig方法来获得ServletConfig对象数据。

 ServletConfig cfg = getServletConfig();
 String city=cfg.getInitParameter("city");
 String ServletConfig.getInitParameter(String paramName);

在这里插入图片描述
Tomcat只会调用父类中事先定义好的方法。
在这里插入图片描述

  • 3)就绪:从写service()方法:容器收到请求之后调用Servlet对象的service方法来处理请求。HttpServlet的service方法是如何实现的依据请求类型(get/post)调用对应的doXXX方法(doGet/doPost)。
    注:我们可以写一个servlet,继承HttpServlet,然后override
    doGet和doPost方法,或者也可以直接override service方法(通常写法)。
  • 4)销毁:servlet容器在销毁Servlet对象时会调用destroy方法来释放资源。通常情况下Servlet容器停止或者重新启动都会引起销毁Servlet对象的动作,但除此之外,Servlet容器也有自身管理Servlet对象的准则,整个生命周期并不需要人为进行干预。(从写destroy方法)
    总结:创建、初始化、销毁、只执行一次。就绪(工作可以反复执行)
  • 5)Servlet的核心接口与类
    在这里插入图片描述
    相关的几个类与接口
    1)Servlet接口init()service()destroy()
    2)GenericServlet抽象类实现了Servlet接口中的部分方法(init,destroy)
    3)HttpServlet抽象类继承GenericServlet抽象类,实现了service方法。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值