当前位置: 首页 > news >正文

Servlet生命周期


第一阶段: init()初始化阶段

当客户端想Servlet容器(例如Tomcat)发出HTTP请求要求访问Servlet时,Servlet容器首先会解析请求,检查内存中是否已经有了该Servlet对象,如果有,则直接使用该Servlet对象,如果没有,则创建Servlet实例对象,然后通过调用init()方法实现Servlet的初始化工作。需要注意的是,在Servlet的整个生命周期内,它的init()方法只能被调用一次。
Servlet容器在下面的情况装载Servlet:
①Servlet容器启动时自动装载某些Servlet,实现这个需要在web.xml文件中添加1,1表示装载的顺序。
②在Servlet容器启动后,浏览器首次xiangServlet发送请求。
③Servlet重新装载时,比如tomcat进行redeploy,redeploy会销毁所有的Servlet实例浏览器再向Servlet发送请求的第一次。

第二阶段:service()处理请求阶段

这时Servlet生命周期中最重要的阶段,在这个阶段中,Servlet容器会为这个请求创建代表HTTP请求的ServletRequest对象和代表HTTP响应的ServletResponse对象,然后将它们作为参数传递给Servlet的Service()方法。
service()方法从ServletRequest对象中获得客户请求信息并处理该请求,通过ServletResponse对象生成响应结果。
在Servlet的整个生命周期内对于Servlet的每一次访问请求,Servlet容器都会调用一次Servlet的service()方法,并且创建新的ServletRequest和ServletResponse对象,也就是说,service()方法在Servlet的整个生命周期中会被调用多次。
【每收到一个http请求,服务器就会产生一个新的线程去处理】

第三阶段:destroy()终止阶段

当Web应用被终止,或者Servlet容器终止运行,或者Servlet重新装载时,Servlet容器会调用Servlet的destory()方法,在Servlet的真个生命周期中,destory方法也只能被调用一次。


`在这里插入图片描述
第6步箭头画反了

http://www.lryc.cn/news/286624.html

相关文章:

  • npm i 报一堆版本问题
  • Linux设备管理模型-01:基础数据结构
  • opencv#32 可分离滤波
  • android 导航app 稳定性问题总结
  • 第11次修改了可删除可持久保存的前端html备忘录:将样式分离,可以自由秒添加秒删除样式
  • hcip高级网络知识
  • 常用电子器件学习——MOS管
  • System.Data.SqlClient.SqlException:“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
  • 数据库(SQL语句:DMLDQL)
  • AnimatedDrawings:让绘图动起来
  • 红黑树浅浅学习
  • QGraphicsView 如何让图形大小适配窗口
  • sqlmap使用教程(3)-探测注入漏洞
  • 期待已久!阿里云容器服务 ACK AI 助手正式上线
  • [BUG] Authentication Error
  • 23种设计模式概述
  • 英文阅读-LinkedIn‘s Tips for Highly Effective Code Review
  • 性能优化-高通的Hexagon DSP和NPU
  • 第137期 Oracle的数据生命周期管理(20240123)
  • 电脑的GPU太强了,pytorch版本跟不上,将cuda驱动进行降级
  • 1 认识微服务
  • PHP+SOCKET 服务端多进程处理多客户端请求 demo
  • Matplotlib笔记:安装Matplotlib+常用绘图
  • Confluence6+mysql5.7安装避坑详细记录
  • YTM32的HSM模块在信息安全场景中的应用
  • 时间序列大模型:TimeGPT
  • CloudPanel RCE漏洞复现(CVE-2023-35885)
  • WPF多值转换器
  • x-cmd pkg | perl - 具有强大的文本处理能力的通用脚本语言
  • Jedis(一)与Redis的关系