Tomcat的整体架构
2024-09-05 19:43:42
Tomcat通过连接器和容器这两个核心组件完成整体工作,连接器负责处理socket连接和网络字节流与Request和Response对象的转化;容器负责加载和管理Servlet,以及具体处理Request请求。
在学习Tomcat整体架构前需要知道,Tomcat 支持的多种 I/O 模型和应用层协议。
Tomcat 支持的多种 I/O 模型和应用层协议
Tomcat 支持的 I/O 模型有:
- NIO:非阻塞 I/O,采用 Java NIO 类库实现。
- NIO.2:异步 I/O,采用 JDK 7 最新的 NIO.2 类库实现。
- APR:采用 Apache 可移植运行库实现,是 C/C++ 编写的本地库。
Tomcat 支持的应用层协议有:
- HTTP/1.1:这是大部分 Web 应用采用的访问协议。
- AJP:用于和 Web 服务器集成(如 Apache)。
- HTTP/2:HTTP 2.0 大幅度的提升了 Web 性能。
Tomcat 为了实现支持多种 I/O 模型和应用层协议,一个容器可能对接多个连接器。
在一个Tomcat中由多个Service,每个Service里面包含多个连接器和一个容器。通过在 Tomcat 中配置多个 Service,可以实现通过不同的端口号来访问同一台机器上部署的不同应用。连接器与容器之间通过标准的 ServletRequest 和 ServletResponse 通信。
Tomcat整体工作流程
1.浏览器对服务器发起请求
2.连接器接收到请求并处理,将其转化成ServletRequest
3.将ServletRequest转交给容器处理
4.容器通过这个ServeletRequest来定位Servlet,如果Servlet没有被加载,就需要加载这个Servelet
5.执行Servlet中的方法
6.响应给连接器一个ServletResponse对象
7.连接器解析ServeletResponse对象
8.将解析后的对象响应给前端。
最新文章
- web报表工具Stimulsoft Reports.Web在mvc项目中使用
- IT人可以关注的站
- 第 23 章 CSS3 边框图片效果
- Java中的查找算法之顺序查找(Sequential Search)
- js实现登陆页面的拖拽功能
- hdu 1556:Color the ball(线段树,区间更新,经典题)
- Sublime Text 2安装汉化破解、插件包安装教程
- Linux下安装MySQL数据库以及用C语言编程存取数据库
- linux创建线程之pthread_create
- CSS3/jQuery自己定义弹出窗体
- Node.js学习笔记(四): 全局对象
- WIN2016安装织梦没写入权限怎么办听语音
- Sharing The Application Tier File System in Oracle E-Business Suite Release 12.2
- Vasya and Binary String(来自codeforces
- Spring Cloud 入门教程(六): 用声明式REST客户端Feign调用远端HTTP服务
- josn的格式化
- 分布式系列 - dubbo服务telnet命令【转】
- mysql DISTINCT的用法
- 2.python函数编程-filter函数
- elasticsearch系列二:索引详解(快速入门、索引管理、映射详解、索引别名)