Tomcat架构与原理

架构图

原理

①、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。
②、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。
③、Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host。
④、Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有的Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理)。
⑤、path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。
⑥、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等程序。
⑦、Context把执行完之后的HttpServletResponse对象返回给Host。
⑧、Host把HttpServletResponse对象返回给Engine。
⑨、Engine把HttpServletResponse对象返回Connector。
⑩、Connector把HttpServletResponse对象返回给客户Browser。

我们将 Tomcat 中 Connector、Container 作为一个整体比作一对情侣的话,Connector 主要负责对外交流,可以比作为 Boy,Container 主要处理 Connector 接受的请求,主要是处理内部事务,可以比作为 Girl。那么这个 Service 就是连接这对男女的结婚证了。是 Service 将它们连接在一起,共同组成一个家庭。当然要组成一个家庭还要很多其它的元素。

说白了,Service 只是在 Connector 和 Container 外面多包一层,把它们组装在一起,向外面提供服务,一个 Service 可以设置多个 Connector,但是只能有一个 Container 容器。

转载于:https://www.cnblogs.com/Smbands/p/11468600.html

Tomcat架构与原理相关推荐

  1. Tomcat 架构原理解析到架构设计借鉴

    ‍ 点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 Tomcat 架构原理解析到架构设计借鉴 Tomcat 发展这 ...

  2. mysql性能调优与架构设计_了解架构设计远远不够!一文拆解 Tomcat 高并发原理与性能调优

    来源 | 码哥字节 上帝视角拆解 Tomcat 架构设计,在了解整个组件设计思路之后.我们需要下凡深入了解每个组件的细节实现.从远到近,架构给人以宏观思维,细节展现饱满的美.关注「码哥字节」获取更多硬 ...

  3. Tomcat 架构原理到架构设计,写得非常好!

    Tomcat 架构原理解析到架构设计借鉴 Tomcat 发展这么多年,已经比较成熟稳定.在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说 ...

  4. 了解架构设计远远不够!一文拆解 Tomcat 高并发原理与性能调优

    来源 | 码哥字节 上帝视角拆解 Tomcat 架构设计,在了解整个组件设计思路之后.我们需要下凡深入了解每个组件的细节实现.从远到近,架构给人以宏观思维,细节展现饱满的美.关注「码哥字节」获取更多硬 ...

  5. 【Tomcat 】Tomcat 架构原理解析到架构设计借鉴

    Tomcat 发展这么多年,已经比较成熟稳定.在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又 ...

  6. tomcat + spring mvc 原理(一):tomcat原理综述和静态架构

    tomcat + spring mvc 原理(一):tomcat原理综述和静态架构 tomcat + spring mvc的运作模式 tomcat内部的基本容器构成 tomcat容器对应的外部配置 t ...

  7. atitit.jndi的架构与原理以及资源配置and单元測试实践

    atitit.jndi的架构与原理以及资源配置and单元測试实践 1. jndi架构 1 2. jndi实现原理 3 3. jndi资源配置 3 3.1. resin  <database> ...

  8. Tomcat过时了?别多想,很多公司还是在用的。这份Tomcat架构详解,真的颠覆你的认知

    Tomcat 不但没有过时,Spring Boot 还给 Tomcat 第二春了. 微服务的兴起,Tomcat 针对很多应用已经做成 embedded 模式了,Tomcat 本身是容器,Tomcat ...

  9. Tomcat架构浅析

    Tomcat服务器作为目前比较流行的一种服务器容器已经被广泛用于后台服务器的搭建.后台集成框架的嵌入(如SpringBoot),不同于Apache.Nginx本身(注意是本身,其实可以搭配后台脚本实现 ...

最新文章

  1. python操作word文档(python-docx)
  2. 宏基因组实战8. 分箱宏基因组binning, MqaxBin, MetaBin, VizBin
  3. 【知识发现】基于物品的协同过滤推荐算法python实现
  4. linux dns配置bind9,DNS服务(bind9)配置过程
  5. 利用python制作漂亮的词云图_利用python制作漂亮的词云图
  6. 获取clientheight为0_用10行python代码获取全国城市交通生活圈
  7. 95-190-032-源码-window-CountWindow
  8. 9600波特率每秒传送多少字节_arduino传送字符串json到python解析为字典数据
  9. 密码学是如何保护区块链的 1
  10. spring boot初体验(三)Spring AOP
  11. Codeforces Round #503 (by SIS, Div. 2)
  12. 电机学直流电机知识点(根据现有题目的总结)
  13. 品牌类软文经典案例分享,深刻了解软文营销的“魅力”
  14. 数字图像来源:光学成像系统
  15. hibernate4版本系列的官方下载地址
  16. 决策树模型及案例(Python)
  17. 微型计算机不是ecu,ECU升级是什么意思?
  18. python与环境统计学--两样本均值的差异显著性检验之z检验,t检验和对应例题代码展示(一)
  19. 腾讯android web,Android 使用腾讯TBS
  20. SIMD——MMX指令的溢出处理

热门文章

  1. Oracle adviser,Oracle10g SQL tune adviser
  2. java 线程池 固定大小_使用Executors服务在Java中创建固定大小线程池的最佳方法...
  3. 在线生成文本图片 CFC函数计算版
  4. vue-cli2定制ant-design-vue主题
  5. React开发(235):document.body.clientHeight
  6. Taro+react开发(18)--定义变量值
  7. [html] html的标签元素分为哪几大类?分别有什么作用?
  8. [vue] 说下你对指令的理解?
  9. 工作185:解决vue+el-element二级联动,选项选择后不显示的问题
  10. 前端学习(2519):路由和请求