• 来自鹅厂大神级架构师把Tomcat内核设计解析完了


    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

    本文深入剖析TomcatWeb服务器运行机制,共分为22章。本书从Web服务器相关的基础知识及原理开始逐渐深入Tomcat内部设计,比如涵盖了HTTP协议、Socket 通信及服务器模型等必备的基础知识。另外还包括Servlet 规范,这些都是深入Tomcat必不可少的知识。

    然后介绍了Tomcat的启动与关闭过程,接着从整体预览Tomcat 的内部结构,让读者对Tomcat 内部有个整体的了解。最后开始层层剖析Tomcat内部结构,包括Server组件,Service组件,内存泄漏检测,Connector组件(HTTP 协议、AJP 协议、BIO 模式、NIO模式和APR模式),Engine 容器,Host 容器,Context 容器,.Wrapper 容器(Servlet 种类机制、Comet 模式、WebSocket 协议、异步Servlet),生命周期管理,日志框架及其国际化(日志系统、日志国际化及访问日志),公共与隔离的加载器(多个Web应用如何做到资源隔离),Mapper 组件(局部路由、全局路由),Tomeat 集成JNDI, JSP 编译器(JSP语法解析、JSP编译成Servlet、 Servlet 编译成Class),运行及通信的安全管理,处理请求和响 应的管道(管道机制),多样化的会话管理器(标准会话管理器、持久化会话管理器、集群增量会话管理器及集群备份管理器),高可用的Tomcat集群的实现( 从单机到集群),Tomcat 集群通信框架,Tomcat内部监控与管理。

    第1章Web服务器机制

    • 1.1通信协议
    • 1.2套接字通信
    • 1.3服务器模型

       

    第2章Servlet规范

    • 2.1 Servlet接口
    • 2.2 ServletRequest接口
    • 2.3 ServletContext接口
    • 2.4 ServletResponse接口
    • 2.5 Filter接口
    • 2.6会话
    • 2.7注解
    • 2.8可插拔性
    • 2.9请求分发器
    • 2.10 Web应用
    • 2.11 Servlet映射
    • 2.12部署描述文件

       

    第3章Tomcat的启动与关闭

    • 3.1 Tomcat的批处理
    • 3.2 Tomcat中的变量及属性

       

    第4章从整体预览Tomcat

    • 4.1 整体结构及组件介绍
    • 4.2请求处理的整体过程

       

    第5章Server组件与Service组件

    • 5.1 Server组件
    • 5.2 Service组件

       

    第6章Connector组件

    • 6.1 HTTP阻塞模式协议一Http11Protocol
    • 6.2 HTTP非阻塞模式协议一Http11NioProtocol
    • 6.3 HTTPAPR模式协议一Http11AprProtocol
    • 6.4 AJPConnector
    • 6.5 HTTP三种模式的Connector
    • 6.6 AJP三种模式的Connector

       

    第7章Engine容器

    • 8.1 Web应用一Context
    • 8.2访问日志一AccessLog
    • 8.3管道一 Pipeline
    • 8.4 Host集群-Cluster
    • 8.5 Host域一Realm
    • 8.6生命周期监听器HostConfig

       

    第8章Host容器

    第9章Context容器

    • 9.1 Context容器的配置文件
    • 9.2包装器Wrapper
    • 9.3 Context域一- Realm
    • 9.4访问日志一Accesslog
    • 9.5错误页面一ErrorPage
    • 9.6会话管理器Manager
    • 9.7目录上下文一-DirContext
    • 9.8安全认证
    • 9.9 Jar扫描器JarScanner
    • 9.10过滤器
    • 9.11命名资源一NamingResource
    • 9.12 Servlet映射器一-Mapper
    • 9.13管道一Pipeline
    • 9.14 Web应用载入器-WebappLoader
    • 9.15 ServletContext的实现一ApplicationContext
    • 9.16实例管理器InstanceManager
    • 9.17 ServletContainerInitializer初始化器
    • 9.18 Context容器的监听器

       

    第10章Wrapper容器

    • 10.1 Senrlet工作机制
    • 10.2 Servlet对象池
    • 10.3过滤器链
    • 10.4 Serlet种类
    • 10.5 Comet模式的支持
    • 10.6Weboce协议的支持
    • 10.7异步Servlet

       

    第11章生命周期管理

    • 11.1生命周期统一接口一 -Lifecycle
    • 11.2生命周期的状态转化
    • 11.3生命周期事件监听机制

       

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

    • 12.1系统内日志
    • 12.2日志的国际化
    • 12.3客户端访问日志

       

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

    • 13.1类加载器
    • 13.2自定义类加载器
    • 13.3 Tomcat中的类加载器
    • 13.4类加载器工厂一ClassLoaderFactory
    • 13.5遭遇CassNotFoundExcepion

       

    第14章请求URI映射器Mapper

    • 14.1请求的映射模型
    • 14.2 Mapper的实现
    • 14.3局部路由Mapper
    • 14.4全局路由Mapper

       

    第15章Tomcat的INDI

    • 15.1 JNDI简介
    • 15.2 JNDI运行机制
    • 15.3在Tomcat中集成JNDI
    • 15.4在Tomcat中使用JNDI
    • 15.5 Tomcat的标准资源

       

    第16章JSP编译器Jasper

    • 16.1从JSP到Servlet
    • 16.2从Servlet到Class字节码

       

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

    • 17.1运行安全管理
    • 17.2安全的通信
    • 17.3客户端访问认证机制

       

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

    • 18.1 管道模式一管道 与阀门
    • 18.2 Tomcat中的管道
    • 18.3 Tomcat中的定制阀门

       

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

    • 19.1 Web容器的会话机制
    • 19.2标准会话对象一StandardSession
    • 19.3增量会话对象一DeltaSession
    • 19.4标准会话管理器StandardManager
    • 19.5持久化会话管理器PersistentManager
    • 19.6集群增量会话管理器-DeltaManager
    • 19.7集群备份会话管理器BackupManager
    • 19.8 Tomcat会话管理器的集成

       

    第20章高可用的集群实现

    • 20.1从单机到集群的会话管理
    • 20.2 Cluster组件
    • 20.3 Tomcat的Cluster工作机制
    • 20.4 Tomcat中Cluster的级别
    • 20.5如何让Tomcat实现集群功能

       

    第21章集群通信框架

    • 21.1 Tribes简介
    • 21.2集群成员维护服务- MembershipService
    • 21.3平行的消息发送通道一-ChannelSender
    • 21.4消息接收通道一ChannelReceiver
    • 21.5通道拦截器Channellnterceptor
    • 21.6应用层处理入口一MembershipListener与ChannelListener
    • 21.7如何使用Tribes进行数据传输
    • 21.8 Tomcat使用Tribes同步会话
    • 21.9 Tomcat使用Tribes部署集群应用

       

    第22章监控与管理

    • 22.1 Java管理扩展一JMX
    • 22.2 JMX管理下的Tomcat
    • 22.3 ManagerServlet

       

    书签目录

  • 相关阅读:
    EBS JVM 内存优化攻略
    Docker的基本使用
    如何熟练掌握分子动力学LAMMPS软件模拟
    一文详解用 eBPF 观测 HTTP
    【python】python面向对象——类的使用
    vue2.0 elementui 封装表单
    活用变量,让Postman的使用飞起来
    第9章:React Hooks
    jquery常用方法积累
    Pipeline流水线设计的最佳实践
  • 原文地址:https://blog.csdn.net/LBWNB_Java/article/details/126622585