java服务器端开发-servlet:5、Servlet生命周期介绍

目录

1、servlet生命周期

(1)什么是servlet生命周期?

(2)生命周期的四个阶段

1)实例化

a,什么是实例化?

b,什么时候实例化?

2)初始化

a,什么是初始化

b,怎样实现初始化处理逻辑?

3)就绪【未有demo,查找源码或ppt】

a,什么是就绪

b,如何编写业务处理逻辑?

4)销毁【未有demo,查找源码或ppt】

a,什么是销毁

b,destroy方法只会执行一次。

 (3)servlet生命周期相关的几个接口与类【未有demo,查找源码或ppt】

a,Servlet接口

b,GenericServlet抽象类:

c,HttpServlet抽象类:

d,ServletConfig接口

e,ServletRequest接口是HttpServletRequest接口的父接口,


1、servlet生命周期

(1)什么是servlet生命周期?

servlet容器如何创建servlet对象、如何初始化、

如何调用servlet对象的方法处理请求,以及如何

销毁servlet对象的整个过程。

(2)生命周期的四个阶段

1)实例化

a,什么是实例化?

容器调用servlet的构造器创建一个servlet对象,

在默认情况下,不管有多少个请求,容器只会创建一个servlet对象。

b,什么时候实例化?

情况1:在默认情况下,容器只有收到请求之后,才会创建servlet对象。

情况2: 容器在启动的时候,就将某些servlet对象创建好。

这些servlet必须配置一个参数 <load-on-startup>参数</load-on-startup>

参数:

大于等于0的整数。

值越小,优先级越高。

2)初始化

a,什么是初始化

容器创建好servlet对象之后,会立即调用init方法。

b,怎样实现初始化处理逻辑?

b1,一般情况下,不需要写init方法,

因为GenericServlet已经实现了init方法:

将容器创建的ServletConfig对象保存下来,

并且提供了getServletConfig方法来获得该对象。

调用了一个空的init方法 (该init方法用于子类去override)。

b2,如果要实现自己的初始化处理逻辑,只要 override init() 方法。

b3,初始化方法只会执行一次。

b4,ServletConfig对象可以用来访问,servlet的初始化参数。

3)就绪【未有demo,查找源码或ppt】

a,什么是就绪

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

b,如何编写业务处理逻辑?

方式一:override HttpServlet的service方法。

HttpServlet的service方法是这样实现的:

依据请求类型调用doGet或者doPost方法,但是,

doGet方法和doPost方法只是简单地抛出了一个异常。

方式二:override HttpServlet的doGet和doPost方法。

4)销毁【未有demo,查找源码或ppt】

a,什么是销毁

容器依据自身的算法来决定是否销毁servlet对象。

容器在销毁servlet对象之前,会调用servlet对象的destroy方法。

b,destroy方法只会执行一次。

 (3)servlet生命周期相关的几个接口与类【未有demo,查找源码或ppt】

a,Servlet接口

init(ServletConfig config)

service(ServletRequest req,ServletResponse res)

destroy()

b,GenericServlet抽象类:

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

c,HttpServlet抽象类:

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

d,ServletConfig接口

e,ServletRequest接口是HttpServletRequest接口的父接口,

ServletResponse接口是HttpServletResponse的父接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被开发耽误的大厨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值