tomcat8源码之架构解析
来源:互联网 发布:淘宝集市店 编辑:程序博客网 时间:2024/06/04 18:55
Catalina:与开始/关闭shell脚本交互的主类,因此如果要研究启动和关闭的过程,就从这个类开始看起。
Server:是整个Tomcat组件的容器,包含一个或多个Service。 内容来自www.itxxz.com
Service:Service是包含Connector和Container的集合,Service用适当的Connector接收用户的请求,再发给相应的Container来处理。
Connector:实现某一协议的连接器,如默认的有实现HTTP、HTTPS、AJP协议的。
Container:可以理解为处理某类型请求的容器,处理的方式一般为把处理请求的处理器包装为Valve对象,并按一定顺序放入类型为Pipeline的管道里。Container有多种子类型:Engine、Host、Context和Wrapper,这几种子类型Container依次包含,处理不同粒度的请求。另外Container里包含一些基础服务,如Loader、Manager和Realm。
Engine:Engine包含Host和Context,接到请求后仍给相应的Host在相应的Context里处理。
Host:就是我们所理解的虚拟主机。
Context:就是我们所部属的具体Web应用的上下文,每个请求都在是相应的上下文里处理的。 IT学习者(www.itxxz.com)
Wrapper:Wrapper是针对每个Servlet的Container,每个Servlet都有相应的Wrapper来管理。
可以看出Server、Service、Connector、Container、Engine、Host、Context和Wrapper这些核心组件的作用范围是逐层递减,并逐层包含。
下面就是些被Container所用的基础组件:
Loader:是被Container用来载入各种所需的Class。
Manager:是被Container用来管理Session池。
Realm:是用来处理安全里授权与认证。
对于以上的介绍,走马观花的扫一眼即可,等下文中出现相应组建时再回来温习一下。
这里以http请求为例,当一个请求过来时我们可以简化为下图:
这里只是说了些概念些的东西,不便于理解,下一篇我们通过一个简单的http请求来看一下具体的流转过程,比如ip地址,端口号,容器创建,servlet访问,返回信息获取等一系列的完整流程,好了这一篇先到这里。
- tomcat8源码之架构解析
- tomcat8 源码 之单例模式
- Ambari架构源码解析
- Ambari架构源码解析
- ccextractor源码解析架构
- ReactiveCocoa v2.5 源码解析 之 架构总览
- ReactiveCocoa v2.5 源码解析 之 架构总览
- (一)Mina源码解析之整体架构
- ReactiveCocoa v2.5 源码解析 之 架构总览
- 从思想到架构之路(ArrayList源码解析)
- 从思想到架构之路(ArrayList源码解析)
- ReactiveCocoa v2.5 源码解析之架构总览
- 从思想到架构之路(LinkedList源码解析)
- ReactiveCocoa v2.5 (RAC) 源码解析之架构总览
- hadoop2.7.3源码解析之HA架构分析
- ReactiveCocoa v2.5 源码解析之架构总览
- WordPress解析系列之源码加载架构简单解读
- tomcat8源码导入
- 剑指offer 调整数组的顺序使奇数位于偶数前面
- 仿ofo首页眼睛跟随加速器移动效果
- Android 中的BroadCastReceiver
- 2.1将工具栏添加
- Error getting authority: Error initializing authority: Could not connect: No such file or directory
- tomcat8源码之架构解析
- 工厂模式之——【抽象工厂模式】
- <Jupyter Notebook>如何用一台服务器给多个 Jupyter 用户提供服务
- mysql数据向oracle数据迁移
- react安装和使用--webpack
- sqlserver函数
- Oracle in exists
- 58 同城 iOS 客户端 Hybrid 框架探索
- java 实现http响应