当前位置: 100md首页 > 电子书籍 > 资料下载2021 >
编号:47075
tomcat内核设计剖析(汪建著)带目录完整.pdf
http://www.100md.com 2020年11月6日
第1页
第4页
第14页
第24页
第46页

    参见附件(111380KB,360页)。

    tomcat内核设计剖析

    tomcat内核设计剖析(汪建著)带目录完整,本书不是鼓励读者去重复发明轮子,而是希望读者能够研究开源软件的架构,学习其优秀的设计理念,知道这些产品的过人之处,从而提升自己的编程素养。有需要的就快来吧

    本书特色

    1、基于当前应用广泛稳定的Tomcat 7版本;

    2、深入剖析Tomcat的每一个设计要点,使读者知其然,更知其所以然;

    3、拒绝没营养的直接贴代码分析,而是升华到对Tomcat设计思想的剖析;

    4、通篇采用大量插图来辅助文字解释,降低读者的理解门槛;

    5、层次分明,脉络清晰,由浅入深,循序渐进,确保知识讲解的连贯性和普适性。

    6、通过本书能快速建立起Tomcat内核模型,对生产故障处理有很大的帮助;

    7、本书深入Tomcat分析,融会贯通,进而深入掌握Web服务器技术;

    8、学习Tomcat内部精彩的设计模式,无形之中提高读者Java编程水平。

    相关内容部分预览

    作者介绍

    汪建,毕业于广东工业大学光信息科学与技术专业,毕业后从事航空系统、电信系统、中间件、基础架构、智能客服等研发工作,目前主要关注分布式、高并发、大数据、搜索引擎、机器学习等方面的技术。崇尚开源,崇尚技术自由,更崇尚思想自由。个人博客地址为blog.csdn.net/wangyangzhizhou。

    目录

    第1章 Web服务器机制 1

    1.1 通信协议 1

    1.1.1 HTTP/HTTPS 1

    1.1.2 HTTP请求/响应模型 3

    1.1.3 解析HTTP报文 4

    1.2 套接字通信 7

    1.2.1 单播通信 8

    1.2.2 组播通信 9

    1.2.3 广播通信 12

    1.3 服务器模型 13

    1.3.1 单线程阻塞I/O模型 14

    1.3.2 多线程阻塞I/O模型 15

    1.3.3 单线程非阻塞I/O模型 16

    1.3.4 多线程非阻塞I/O模型 19

    第2章 Servlet规范 22

    2.1 Servlet接口 22

    2.2 ServletRequest接口 23

    2.3 ServletContext接口 23

    2.4 ServletResponse接口 24

    2.5 Filter接口 24

    2.6 会话 25

    2.7 注解 25

    2.8 可插拔性 26

    2.9 请求分发器 26

    2.10 Web应用 26

    2.11 Servlet映射 27

    2.12 部署描述文件 28

    第3章 Tomcat的启动与关闭 29

    3.1 Tomcat的批处理 29

    3.1.1 startup.bat 29

    3.1.2 shutdown.bat 31

    3.1.3 catalina.bat 31

    3.1.4 setclasspath.bat 39

    3.2 Tomcat中的变量及属性 40

    3.2.1 环境变量 41

    3.2.2 JVM系统变量 41

    3.2.3 Tomcat属性 44

    第4章 从整体预览Tomcat 45

    4.1 整体结构及组件介绍 45

    4.2 请求处理的整体过程 50

    第5章 Server组件与Service组件 52

    5.1 Server组件 52

    5.1.1 生命周期监听器 53

    5.1.2 全局命名资源 57

    5.1.3 监听SHUTDOWN命令 58

    5.2 Service组件 59

    第6章 Connector组件 63

    6.1 HTTP阻塞模式协议—Http11Protocol 64

    6.1.1 套接字接收终端—JIoEndpoint 65

    6.1.2 HTTP阻塞处理器—Http11Processor 73

    6.2 HTTP非阻塞模式协议—Http11NioProtocol 102

    6.2.1 非阻塞接收终端—NioEndpoint 102

    6.2.2 HTTP非阻塞处理器—Http11NioProcessor 111

    6.3 HTTP APR模式协议—Http11AprProtocol 114

    6.3.1 APR接收终端—AprEndpoint 114

    6.3.2 HTTP APR处理器—Http11AprProcessor 119

    6.4 AJP Connector 121

    6.4.1 AJP阻塞模式协议—AjpProtocol 123

    6.4.2 AJP APR模式协议—AjpAprProtocol 125

    6.5 HTTP三种模式的Connector 126

    6.6 AJP三种模式的Connector 126

    第7章 Engine容器 127

    第8章 Host容器 129

    8.1 Web应用—Context 129

    8.2 访问日志—AccessLog 130

    8.3 管道—Pipeline 130

    8.4 Host集群—Cluster 130

    8.5 Host域—Realm 130

    8.6 生命周期监听器—HostConfig 131

    8.6.1 Descriptor描述符类型 131

    8.6.2 WAR包类型 132

    8.6.3 目录类型 133

    第9章 Context容器 134

    9.1 Context容器的配置文件 134

    9.2 包装器—Wrapper 135

    9.3 Context域—Realm 135

    9.4 访问日志—AccessLog 135

    9.5 错误页面—ErrorPage 135

    9.6 会话管理器—Manager 137

    9.7 目录上下文—DirContext 137

    9.8 安全认证 138

    9.9 Jar扫描器—JarScanner 138

    9.10 过滤器 139

    9.11 命名资源—NamingResource 140

    9.12 Servlet映射器—Mapper 141

    9.13 管道—Pipeline 141

    9.14 Web应用载入器—WebappLoader 142

    9.15 ServletContext的实现—ApplicationContext 143

    9.16 实例管理器—InstanceManager 145

    9.17 ServletContainerInitializer初始化器 145

    9.18 Context容器的监听器 147

    9.18.1 ContextConfig监听器 148

    9.18.2 TldConfig监听器 151

    9.18.3 NamingContextListener监听器 151

    9.18.4 MemoryLeakTrackingListener监听器 151

    第10章 Wrapper容器 154

    10.1 Servlet工作机制 154

    10.2 Servlet对象池 156

    10.3 过滤器链 157

    10.4 Servlet种类 158

    10.5 Comet模式的支持 161

    10.6 WebSocket协议的支持 163

    10.7 异步Servlet 166

    第11章 生命周期管理 169

    11.1 生命周期统一接口—Lifecycle 169

    11.2 生命周期的状态转化 170

    11.3 生命周期事件监听机制 172

    第12章 日志框架及其国际化 177

    12.1 系统内日志 177

    12.2 日志的国际化 179

    12.3 客户端访问日志 181

    12.3.1 访问日志组件的设计 182

    12.3.2 访问日志格式的自定义 184

    第13章 公共与隔离的类加载器 186

    13.1 类加载器 186

    13.2 自定义类加载器 189

    13.3 Tomcat中的类加载器 192

    13.4 类加载器工厂—ClassLoaderFactory 194

    13.5 遭遇ClassNotFoundException 196

    第14章 请求URI映射器Mapper 200

    14.1 请求的映射模型 200

    14.2 Mapper的实现 201

    14.3 局部路由Mapper 203

    14.4 全局路由Mapper 204

    第15章 Tomcat的JNDI 205

    15.1 JNDI简介 205

    15.2 JNDI运行机制 206

    15.3 在Tomcat中集成JNDI 210

    15.4 在Tomcat中使用JNDI 222

    15.4.1 Web应用的局部配置方式 222

    15.4.2 服务器的全局配置方式 223

    15.5 Tomcat的标准资源 226

    第16章 JSP编译器Jasper 227

    16.1 从JSP到Servlet 228

    16.1.1 语法树的生成—语法解析 228

    16.1.2 语法树的遍历—访问者模式 230

    16.1.3 JSP编译后的Servlet 232

    16.2 从Servlet到Class字节码 235

    16.2.1 JSR45标准 235

    16.2.2 JDT Compiler编译器 236

    16.2.3 Jasper自动检测机制 241

    第17章 运行、通信及访问的安全管理 243

    17.1 运行安全管理 243

    17.1.1 Java安全管理器—SecurityManager 243

    17.1.2 Tomcat的系统安全管理 246

    17.1.3 安全管理器特权 248

    17.2 安全的通信 249

    17.2.1 SSL/TLS协议 249

    17.2.2 Java安全套接字扩展—JSSE 251

    17.2.3 Tomcat中SSL安全信道的实现 264

    17.3 客户端访问认证机制 266

    17.3.1 Web资源认证原理 266

    17.3.2 认证模式 267

    17.3.3 Realm域 272

    17.3.4 Tomcat如何实现资源安全管理 273

    17.3.5 如何让你的Web具备权限认证 274

    第18章 处理请求和响应的管道 276

    18.1 管道模式—管道与阀门 276

    18.2 Tomcat中的管道 280

    18.3 Tomcat中的定制阀门 282

    第19章 多样化的会话管理器 285

    19.1 Web容器的会话机制 286

    19.2 标准会话对象—StandardSession 287

    19.3 增量会话对象—DeltaSession 288

    19.4 标准会话管理器—StandardManager 290

    19.5 持久化会话管理器—PersistentManager 291

    19.5.1 FileStore 292

    19.5.2 JDBCStore 293

    19.6 集群增量会话管理器—DeltaManager 294

    19.7 集群备份会话管理器—BackupManager 296

    19.7.1 机制与原理 297

    19.7.2 高可用性及故障转移机制 299

    19.7.3 集群RPC通信 301

    19.8 Tomcat会话管理器的集成 308

    第20章 高可用的集群实现 311

    20.1 从单机到集群的会话管理 311

    20.1.1 单机模式 311

    20.1.2 集群模式 313

    20.2 Cluster组件 315

    20.3 Tomcat的Cluster工作机制 317

    20.4 Tomcat中Cluster的级别 318

    20.5 如何让Tomcat实现集群功能 318

    第21章 集群通信框架 320

    21.1 Tribes简介 320

    21.2 集群成员维护服务—MembershipService 321

    21.3 平行的消息发送通道—ChannelSender 325

    21.4 消息接收通道—ChannelReceiver 327

    21.5 通道拦截器—ChannelInterceptor 328

    21.6 应用层处理入口—MembershipListener与ChannelListener 331

    21.7 如何使用Tribes进行数据传输 332

    21.8 Tomcat使用Tribes同步会话 334

    21.9 Tomcat使用Tribes部署集群应用 334

    第22章 监控与管理 337

    22.1 Java管理扩展—JMX 337

    22.1.1 JMX的基本结构 337

    22.1.2 JMX例子 338

    22.2 JMX管理下的Tomcat 339

    22.3 ManagerServlet 343

    tomcat内核设计剖析(汪建著)带目录完整截图