Servlet自学第8讲:Servlet生命周期

一个完整的URL访问过程

这里写图片描述
这是一个用户通过URL通过浏览器访问相应servlet资源的完整过程,希望大家好好理解下

Servlet生命周期(工作流程)

这个在面试中经常会问,到没要求会自己复述,可以参照上面的时序图理解。
1. 当serlvet 第一次被访问的时候,会触发init函数,该函数会把servlet实例装载到内存,init函数只会被调用一次
2. 然后去调用servlet的service 函数
3. 当第二次及其之后访问该servlet就直接调用 service 函数.
4. 当 web应用reload或者关闭tomcat或者关机都会去调用destroy函数,该函数就会去销毁serlvet,释放servlet所占用的内存资源。
5. Servlet的生命周期
当客户端第一次向web服务器发出一个servlet请求时,web服务器将会创建一个该servlet的实例,并且调用servlet的init()方法;如果当服务器已经存在了一个servlet实例,那么,将直接使用此实例;然后再调用service()方法,service()方法将根据客户端的请求方式来决定调用对应的doXXX()方法;当 web应用 reload或者关闭tomcat或者关机,web服务器将调用destroy()方法,将该servlet从服务器内存中删除。

Servlet生命周期(工作流程)的标准回答版本:

  1. WEB服务器首先会检查是否已经装载并创建了该servlet实例对象。如果是直接进行第④步,否则执行第②步。
  2. 装载并创建该Servlet的一个实例对象
  3. 调用Servlet实例对象的init()方法。
  4. 创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用service()方法并将请求和响应作为参数传递进去。
  5. WEB应用被停止或重启之前,Servlet引擎将卸载Servlet,在卸载之前调用Servlet的destroy()方法.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值