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