位置: IT常识 - 正文

Servlet工作原理(servlet工作原理和生命周期)

编辑:rootadmin
Servlet工作原理 文章目录一、Servlet是什么?二、相关接口三、Servlet的工作流程四、Servlet的生命周期总结一、Servlet是什么?

推荐整理分享Servlet工作原理(servlet工作原理和生命周期),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:servlet的工作过程,servlet的工作流程,servlet工作原理图,servlet 工作原理,servlet 工作原理,servlet工作原理图,servlet 工作原理,servlet工作原理图,内容如对您有帮助,希望把文章链接给更多的朋友!

Servlet 类是 JavaWeb 的三大组件之一,它属于动态资源,是一组 Tomcat 提供给程序猿的 API。其作用是处理请求,服务器通常会把接收到的请求交由 Servlet 的实现类来处理。

通常Servlet的实现类需要完成:

接收请求数据;处理请求;完成响应。

Servlet 实现类中的方法需要由我们自己来实现,且每个 Servlet 实现类必须实现 javax.servlet.Servlet 接口,之后由服务器来创建 Servlet 类对象并调用相应的方法。

二、相关接口

ServletConfig:当前Servlet的配置信息,每一个Servlet都有其唯一对应的ServletConfig。

Servlet工作原理(servlet工作原理和生命周期)

ServletContext:作用是在整个Web应用的动态资源之间共享数据,一个Web应用对应一个唯一的ServletContext对象, ServletContext对象在项目启动时创建,在项目卸载时销毁。

GenericServlet:通用的Servlet父类。

HttpServlet:HttpServlet继承了GenericServlet,而GenericServlet实现Servlet接口, 所以我们可以继承HttpServlet来创建一个Servlet。当通过继承HttpServlet来创建一个Servlet时,我们只需要根据要处理的请求的类型,来重写不同的方法 ①处理get请求,则重写doGet();②处理post请求,则重写doPost()

HttpServletRequest:浏览器发送给服务器的请求报文,该对象由Tomcat服务器创建,最终作为参数传递到doGet或doPost方法中,我们可以在这两个方法中直接使用。

HttpServletResponse:服务器发送给浏览器的响应报文,该对象由Tomcat服务器创建,最终作为参数传递到doGet或doPost方法中,我们可以在这两个方法中直接使用。

三、Servlet的工作流程

Servlet只有放在容器中才能执行,最常见的容器为Tomcat,Servlet工作流程如下图: 分析如下:

浏览器向服务器发送GET请求,请求服务器ServletA服务器上的Servlet 容器接收到该URL,根据该URL判断为Servlet请求,此时Servlet 容器将产生两个对象:请求对象(HttpServletRequest)和响应对象(HttpServletResponce)Servlet 容器对请求的 URL 进行解析并根据web.xml配置文件找到处理该请求的Servlet(ServletA),并创建一个线程AServlet 容器将刚才创建的请求对象和响应对象传递给线程AServlet 容器调用Servlet的service()方法service()方法根据请求类型(本示例为GET请求)调用doGet() (本示例调用doGet()) 或doPost()方法doGet()执行完后,将结果返回给Servlet 容器线程A被销毁或被放在线程池中四、Servlet的生命周期

Servlet是运行在Servlet容器中的,由Servlet容器来负责Servlet实例的查找、创建以及整个生命周期的管理。Servlet整个生命周期可以分为四个阶段:

类装载以及实例创建阶段:默认情况下,Servlet实例是在接收到第一个请求时进行创建,并且在以后的请求中对这个实例进行复用。实例初始化阶段:一旦Servlet实例被创建,将会调用Servlet中的 init(ServletConfig arg) 方法,传入ServletConfig,即Servlet的相关配置信息,init()方法在整个Servlet的生命周期中只会被调用一次。服务阶段:实例初始化后,一旦由客户端请求,Servlet 就会调用service(ServletRequest req, ServletRespose res) 方法处理数据并响应数据。实例销毁阶段:当Servlet容器决定销毁某个Servlet时,将会调用 Servlet 实例中的destory()方法,在destory()方法中进行资源释放。一旦Servlet实例的 destory() 方法被调用,Servlet 容器将不会发任何请求给这个Servlet实例,若 Servlet 容器需要再次使用这个 Servlet,需要重新实例化该 Servlet 实例。总结

以上就是今天要讲的内容,本文主要介绍了Servlet的工作原理,包括Servlet相关接口、Servlet的生命周期和Servlet如何和Servlet 容器配合工作,如果你觉得有收获的话,就留下你的👍吧!

本文链接地址:https://www.jiuchutong.com/zhishi/292346.html 转载请保留说明!

上一篇:深度学习实战——不同方式的模型部署(CNN、Yolo)

下一篇:波来古市附近的Chu Dang Ya火山,越南嘉来 (© Quang Ngoc Nguyen/Alamy)(波来古市在哪里)

  • 微信公众号如何从粉丝到变现(微信公众号如何发布文章)

    微信公众号如何从粉丝到变现(微信公众号如何发布文章)

  • ppt音乐怎么添加(ppt音乐怎么添加全程背景音乐)

    ppt音乐怎么添加(ppt音乐怎么添加全程背景音乐)

  • 华为荣耀20录屏可以录多久(华为荣耀20录屏没有声音怎么办)

    华为荣耀20录屏可以录多久(华为荣耀20录屏没有声音怎么办)

  • 50定焦拍全身要多远(50定焦镜头拍视频)

    50定焦拍全身要多远(50定焦镜头拍视频)

  • 手机的ot g是什么意思(手机的OTG是什么意思)

    手机的ot g是什么意思(手机的OTG是什么意思)

  • 图片重命名怎么弄(图片重命名怎么变成文件形式)

    图片重命名怎么弄(图片重命名怎么变成文件形式)

  • 8+128gb是什么意思(8gb+128gb手机什么意思)

    8+128gb是什么意思(8gb+128gb手机什么意思)

  • 为什么超级星饭团不显示在线(为什么超级星饭团下载不了)

    为什么超级星饭团不显示在线(为什么超级星饭团下载不了)

  • 苹果11手机尺寸长宽高厘米(苹果11手机尺寸一览表)

    苹果11手机尺寸长宽高厘米(苹果11手机尺寸一览表)

  • iphone6怎么隐藏软件(iphone6怎么隐藏游戏)

    iphone6怎么隐藏软件(iphone6怎么隐藏游戏)

  • 淘宝是不是要确认收货才能申请退款(淘宝是不是要确认收货才能评价)

    淘宝是不是要确认收货才能申请退款(淘宝是不是要确认收货才能评价)

  • 怎样把qq聊天记录转发(怎样把qq聊天记录导出来)

    怎样把qq聊天记录转发(怎样把qq聊天记录导出来)

  • QQ怎么开启学习模式

    QQ怎么开启学习模式

  • xr跑分多少正常

    xr跑分多少正常

  • 微信交易明细删除了 还可以查的到吗(微信交易明细删除了还能查到吗)

    微信交易明细删除了 还可以查的到吗(微信交易明细删除了还能查到吗)

  • 阿里通信怎么查话费(阿里通信怎么查欠费)

    阿里通信怎么查话费(阿里通信怎么查欠费)

  • 怎么下载字体到word(怎么下载字体到ai上)

    怎么下载字体到word(怎么下载字体到ai上)

  • ios怎么录屏直播(ios录屏直播怎么用)

    ios怎么录屏直播(ios录屏直播怎么用)

  • 华为p30pro有必要贴膜吗(华为p30pro有必要换p40pro吗)

    华为p30pro有必要贴膜吗(华为p30pro有必要换p40pro吗)

  • pr怎么删除文件(pr怎么删除项目)

    pr怎么删除文件(pr怎么删除项目)

  • 屏幕上出现一个圆圈应该怎么消除(屏幕上出现一个长方形框怎么办)

    屏幕上出现一个圆圈应该怎么消除(屏幕上出现一个长方形框怎么办)

  • 苹果7如何接电话时录音(苹果如何接电话录音)

    苹果7如何接电话时录音(苹果如何接电话录音)

  • 如何安装win10和ubuntu14双系统 图文详解win10和ubuntu14双系统安装过程(window10安装教程u盘)

    如何安装win10和ubuntu14双系统 图文详解win10和ubuntu14双系统安装过程(window10安装教程u盘)

  • 装电脑系统的方法是什么呀?(装电脑系统的方法和步骤)

    装电脑系统的方法是什么呀?(装电脑系统的方法和步骤)

  • win10怎么显示隐藏文件夹(win10怎么显示隐藏的硬盘)

    win10怎么显示隐藏文件夹(win10怎么显示隐藏的硬盘)

  • Vue3 & app.use 与 install 函数的作用

    Vue3 & app.use 与 install 函数的作用

  • 前端资源浏览器渲染原理(前端资源浏览器下载)

    前端资源浏览器渲染原理(前端资源浏览器下载)

  • 附加税减免要做哪些科目
  • 小规模应税行为扣除额如何填
  • 商业承兑汇票贴现率
  • 单位借款是否纳税
  • 企业房产税每年交几次
  • 收到订金如何开票
  • 饭店采购食材没发票
  • 中小企业对应的是
  • 总包抵扣分包企业所得税
  • 银行收取代发工资合法吗
  • 自建公司什么意思
  • 哪些政府补助可以做收入
  • 一般企业利润表格式
  • 车辆租赁费交的是什么税
  • 苹果微信语音怎么调成喇叭
  • 存在标的资产的亏损合同,先进行减值
  • 职工教育经费包括餐费吗
  • 总结linux命令行的主要用法
  • 商业一般纳税人标准
  • 制造费用主要包括哪些费用
  • 最强超频
  • 预收账款可以挂账多久
  • 草丛里的野花像
  • 代扣代缴企业所得税如何申报
  • 跨月未认证的发票可以作废吗
  • 减税性质代码及名称农业
  • php点击复制代码
  • 借银行存款贷预收账款
  • 润滑脂开票属于成品油吗
  • nginx解决跨域问题原理
  • ai引领技术变革是什么
  • 办公室清洁费计算公式
  • 现金流量表中有应收账款吗
  • 应交增值税科目设置及账务处理
  • 机械租赁公司月薪多少
  • 营业成本的构成
  • sql2000错误9003
  • 发票金额大于付款金额怎么写说明
  • 矿产资源补偿费计入管理费用吗
  • 工程施工的主要经济指标包括哪些
  • 4s店交首付分期多久
  • 销货清单自己留哪一联
  • 预付账款未取得发票
  • 材料成本多少合适
  • 停车费报账
  • 偷税漏税追溯年限怎么算
  • 交通补贴属于工资薪金所得吗
  • 应交土地增值税的三种情况
  • 小企业成本核算方法怎么填
  • 对于资产负债表日后的非调整事项
  • sqlserver比较日期时间
  • mysql的多表查询语句
  • windows2003怎么开启远程
  • linux 使用技巧
  • ubuntu 18.04怎么用
  • ubuntu怎么录音
  • mac上怎么取消itunes自动续费
  • Linux系统网络配置
  • linux 桌面系统
  • windows7如何启动记事本
  • SIMETER.EXE - SIMETER是什么进程 有什么用
  • iptables添加规则立即生效
  • debian怎么用
  • win8开始菜单没有了
  • css清除浮动方法有哪几种
  • 关于我和鬼变成家人的那件事
  • javascriptdom编程
  • linux中shell脚本编写
  • vue中使用ajax
  • js实现倒计时60s
  • unity做网页
  • JavaScript数据类的特点
  • 不使用flash
  • python字符串连接join
  • wordpress 0day
  • 辽宁省农村合作医疗2024怎么缴费
  • 贸易公司税收政策
  • 12366纳税服务热线存在的问题
  • 日本快递税率
  • 婚姻登记处婚俗改革宣传
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设