Servlet生命周期知识点汇总

1、servlet的生命周期定义

就是Servlet从创建到销毁的流程。Servlet的生命周期由Servlet容器管理,主要分为以下3个阶段:

初始化阶段

运行时阶段

销毁阶段

在javax.servlet.Servlet接口中定义了3个方法:init(),service(),destory(),分别在Servlet生命周期的不同阶段被Servlet容器调用。

2.Servlet的初始化阶段

Servlet初始化阶段分为2步:

(1)加载和实例化Servlet

Servlet容器负责加载和实例化Servlet。当容器启动或首次请求某个Servlet时,容器会读取web.xml或@WebServlet中的配置信息,对指定的Servlet进行加载,加载成功后,容器会通过反射对Servlet执行实例化。

(2)调用init()方法初始化;

加载和实例化完成后,Servlet容器调用init()方法初始化Servlet实例。

初始化的目的:让Servlet实例在处理请求之前完成一些初始化工作,例如:建立数据库连接,获取配置信息等。

在Servlet的整个生命周期内,init()方法只能被调用一次。

初始化期间,Servlet实例可以通过ServletConfig对象获取在web.xml或者@Webvlet中配置的初始化参数。

3.Servlet运行时阶段

运行时阶段是Servlet生命周期中最重要的阶段。Servlet容器接收到来自客户端请求时,容器会针对该请求分别创建一个ServletRequst对象和ServletResponse对象,将其以参数的形式传入service()方法内,并调用该方法对请求执行处理。

在service()方法中,Servlet通过ServletRequest对象获取客户端的相关信息和请求信息。在请求处理完成后,通过ServletResponse对象将响应信息进行包装,返回给客户端。当Servlet容器将响应信息返回给客户端后,ServletRequst对象和ServletResponse对象就会被销毁。

在Servlet的整个生命周期内,对于Servlet的每一次请求,Servlet容器都会调用一次service()方法,并创建新的ServletRequest和ServletResponse对象。即service()方法在Servlet的整个生命周期中会被调用多次。

注意:执行service()方法之前,init()方法必须已经成功执行。

4.Servlet销毁阶段

当Servlet容器关闭、重启或移除Servlet实例时,容器就会调用destory()方法,释放该实例使用的资源。比如:关闭数据库连接、关闭文件的输入流和输出流等,随后该实例被java的垃圾收集器回收。

对每个Servlet实例来说,destory()方法只能被调用一次。

5、Servlet生命周期执行流程图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值