tomcat架构解析文档pdf高清版|百度网盘下载

时间: 2022-05-07 09:16:26  15 组件 组件 Tomcat

编者的话:tomcat schema 解析文档pdf

Tomcat架构分析基于Tomcat 8.5.x,全面介绍了Tomcat的架构,各个组件的实现方案和使用方法,主要包括Tomcat的基本组件架构和工作原理,以及各个组件的实现方案雄猫。 tomcat架构解析文档pdf,需要的可以下载

部分图书预览

Tomcat 组件架构设计

1) 服务器

服务器可以描述为一个应用程序,它接收并解析客户端发送的请求数据,完成相关的业务处理,然后将处理结果作为响应返回给客户端。

通常我们可以使用serversocket监听指定端口来实现这个功能

2) 连接和容器(引擎)

当我们将请求侦听和请求处理放在一起时,可伸缩性很差。比如当我们要适配多种网络协议,但是请求处理是一样的。

解决方案是从概念上分离网络协议和请求处理。 Connection负责打开socket,监听客户端请求,返回响应数据; Container(Engine)负责具体的请求处理。

3) 服务

上述方案的缺点是不能很好的确定哪个Container(Engine)处理Connection。

使用服务方案,一个服务器包含多个服务(它们相互独立),一个服务包含多个Connection和一个Container,这样连接请求只能由容器处理

因为Container代表了一个更笼统的概念,为了与Tomcat组件的命名保持一致,将Container重命名为Engine来代表整个servlet引擎

4) 上下文

以上解决了网络协议和容器的解耦。接下来我们需要支持在 Engine 中管理 Web 应用程序。当收到连接请求时,可以找到合适的 Web 应用程序来处理它。上下文代表一个 Web 应用程序

5) 主机

为了服务多个域名,我们可以将每个域名视为一个虚拟主机。每个Host下包含多个Context

6) 包装器

在 Web 应用程序中,可以包含多个 servlet 实例来处理来自不同链接的请求。因此,需要一个组件概念来表示servlet定义,在Tomcat中称为Wrapper

7) 容器

容器代表一类组件。此类组件的作用是接收客户端请求并返回响应数据,具体操作委托给子组件完成。

Engine、Host、Context、Wrapper都继承自Container

8) 生命周期

所有组件都有启动、停止等生命周期方法,具有生命周期管理的特点。我们将其提取为接口 LifeCycle 来定义生命周期管理的核心方法。

9) 执行者

tomcat的并发提供了Executor接口来表示一个可以在组件之间共享的线程池。这个接口也继承了LifeCycle接口

共享作用域:Executor由Service维护,因此同一个Service中的组件可以共享一个线程池

10) Bootstrap 和 Catalina

Catalina 提供了一个 shell 程序,用于解析 service.xml 以创建各种组件。还负责启动和停止应用服务器

Bootstrap 作为应用服务器启动入口。 Bootstrap负责创建Catalina,并根据执行参数调用Catalina相关方方法完成对应用服务器的操作

关于作者

刘光瑞

Worker.com研发总监,负责Worker产品研发管理和整体架构设计。十余年企业级大型业务系统架构研发经验,成功带领团队设计开发了基于Tomcat的组件化微服务架构。

2007年在星软件担任高级架构师,领导多个省份广电省级网络业务运营支撑系统的架构设计和优化。 2012年在电讯盈科担任高级技术顾问,参与中国移动供应链系统的架构和研发工作。在应用系统架构和性能优化方面积累了丰富的经验。

目录

第 1 章 Tomcat 1 简介
1.1 简介 1
1.1.1 Tomcat 历史 1
1.1.2 Tomcat 授权 2
1.2 安装和启动 3
1.2.1 Tomcat 下载和安装 3
1.2.2 Tomcat 启动 4
1.2.3 IDE 启动 5
1.2.4 嵌入式启动 10
1.2.5 调试启动 11
1.3 Tomcat 目录结构 12
1.4 Tomcat 8.5 之后的新特性 12
1.5 总结 13
第 2 章 Tomcat 整体架构 14
2.1 总体设计 14
2.1.1 服务器 14
2.1.2 连接器和容器 15
2.1 .3 容器设计 17
2.1.4 生命周期 20
2.1.5 管道和阀门 23
2.1.6 连接器设计 24
2.1.7 执行器 26
2.1.8 Bootstrap 和 Catalina 28
2.2 Tomcat 启动 30
2.3 请求处理 31
2.4 类加载器 33
2.4.1 J2SE 标准类加载器 33
2.4.2 Tomcat 加载器 34
2.4.3 Web 应用程序类加载器 36
2.5 摘要 37
第 3 章 Catalina 38
3.1 Catalina 38 是什么
3.2 Digester 39
3.2.1 对象堆栈 40
3.2 .2 匹配 Pa ttern 41
3.2.3 处理规则 41
3.2.4 示例程序 42
3.3 创建服务器 44
3.3.1 服务器分析 45
3.3.2 引擎分析 48
3.3. 3 主机解析 49
3.3.4 上下文解析 50
3.4 Web 应用程序加载 53
3.4.1 StandardHost 54
3.4.2 HostConfig 56
3.4.3 StandardContext 60
3.4. 4 ContextConfig 64
3.4.5 StandardWrapper 69
3.4.6 上下文命名规则 69
3.5 Web 请求处理 71
3.5.1 总体流程 71
3.5.2 请求映射 72
3.5 .3 Catalina 请求处理 80
3.6 DefaultServlet 和 JspServlet 81
3.6.1 DefaultServlet 82
3.6.2 JspServlet 84
3.7 总结 85
第 4 章 Coyote 86
4.1 什么是 Coyote 86
4.2 Web 请求处理 88
4.2.1 主要概念 88
4.2.2 请求处理 90
4.2.3 协议升级 92
4.3 HTTP 94
4.3.1基础知识 94
4.3.2 配置方法 95
4.4 AJP 97
4.4.1 基础知识 97
4.4.2 Web 服务器组件 103
4.4.3 配置方法 106
4.5 H TTP /2.0 106
4.5.1 基础 106
4.5.2 配置 110
4.6 I/O 111
4.6.1 BIO 112
4.6.2 NIO 115
4.6. 3 NIO2 121
4.6.4 APR 130
4.7 总结 134
第 5 章 Jasper 136
5.1 Jasper 136 简介
5.2 JSP 编译 137
5.2.1 运行时编译 137
5.2.2 预编译 141
5.3 JSP 编译原理 144
5.4 总结 151
第六章 Tomcat 配置管理 152
6.1 JVM 配置 152
6.1.1 JVM 配置选项 152
6.1 .2 系统属性 153
6.2 服务器配置 158
6.2.1 catalina.properties 158
6.2.2 server.xml 159
6.2.3 context.xml 172
6.3 Web 应用程序配置 172
6.3.1 ServletContext 初始化参数 173
6.3.2 会话配置 174
6.3.3 Servlet 声明和映射 175
6.3.4 应用生命周期监听器 177
6.3.5 过滤器定义和映射 177
6.3.6 MIME 类型映射 178
6.3.7 欢迎文件列表 178
6.3.8 错误页面 179
6.3.9 本地化和编码映射 179
6.3.10 安全配置179
6.3.11 JNDI 配置 180
6.3.12 其他 18 3
6.4 Web 应用程序过滤器 185
6.4.1 CorsFilter 186
6.4.2 CsrfPreventionFilter 188
6.4.3 ExpiresFilter 188
6.4.4 FailedRequestFilter 190
6.4.5 RemoteAddrFilter 191< br>6.4.6 RemoteHostFilter 191
6.4.7 RemoteIpFilter 192
6.4.8 RequestDumperFilter 195
6.4.9 SetCharacterEncodingFilter 195
6.4. 10 WebdavFixFilter 196
6.5 Tomcat 管理 196
6.5.1 主机管理器 196
6.5.2 管理器 197
6.5.3 管理命令行 199
6.5.4 Ant 任务 200
6.5.5 JMX 201
6.6 总结 201
第 7 章 Web 服务器集成 202
7.1 Web 服务器和应用服务器的区别 202
7.2 集成应用场景 205
7.3 与 Apache HTTP Server 集成 206
7.3.1 Windows 环境安装 206
7.3.2 Linux 环境安装 207
7.3.3 mod_jk 209
7.3.4 mod_proxy_ajp 229
7.4 与 Ngnix 集成 235
7.4. 1 Ngnix 235 简介
7.4.2 W indows 安装 237
7.4.3 Linux 安装 237
7.4.4 Tomcat 集成 241
7.5 与 IIS 集成 243
7.6 总结 243< br>第 8 章 Tomcat 集群 244
8.1 Tomcat 集群介绍 244
8.1.1 Tomcat 集群基础 246
8.1.2 Apache Tribes 247
8.1.3 Tomcat 集群组件实现 253
8.2 集群配置 254
8.3 会话同步 255
8.3.1 DeltaManager 256
8.3.2 BackupManager 257
8.3.3 替代方案 257
8.4 集群部署 258
8.4.1 实现原理 258< br>8.4.2 配置方法 259
8.5 总结 259
第 9 章 Tomcat 安全 260
9.1 配置安全 260
9.1.1 安装部署问题 260
9.1.2 Server.xml 配置261
9.2 应用程序安全 263
9.2.1 领域 264
9.2.2 HttpServletRequest 265
9.2.3 Authenticator 266
9.3 传输安全 (SSL) 267
9.4 Java 安全策略 273
9.4.1 简介 273
9.4.2 catalina.policy 275
9.5 总结 279
第 10 章 Tomcat 性能调优 280
10.1 Tomcat 性能测试与诊断 281
10.1.1 常用测试方法 281
10.1. 2 性能测试工具 282
10.1.3 数据收集与分析 290
10.2 Tomcat 性能优化 303
10.2.1 JVM 优化 304
10.2.2 Tomcat 配置 308
10.3 应用性能优化建议311
10.4 总结 312
第 11 章 Tomcat 附加功能 313
11.1 Tomcat 313 嵌入式启动
11.1.1 为什么嵌入式启动 313
11.1.2 嵌入式启动 Tomcat 314 嵌入式启动
11.1.3 嵌入式引导服务器 316
11.2 Tomcat 317 中的 JNDI
11.2.1 什么是 JNDI 317
11.2.2 Tomcat 318 中的 JNDI
11.3 Comet 和 WebSocket 32​​0
11.3.1 什么是 Comet 32​​1
11.3.2 Tomcat 的 Comet 实现 322
11.3.3 什么是 WebSocket 32​​6
11.3.4 Tomcat 的 WebSocket 实现 328
11.4 总结 335
附录 server.xml 配置 336
结论 370

  • 声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,以上内容仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站内容来自网络收集整理或网友投稿,所提供的下载链接也是站外链接,版权争议与本站无关。您必须在下载后的24个小时之内,从您的设备中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版!我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮箱:121671486@qq.com,微信:diqiuren010101

学习考试资源网-58edu © All Rights Reserved.  湘ICP备12013312号-3 
站点地图| 免责说明| 合作请联系| 友情链接:学习乐园