0%

深入剖析Tomcat

基本信息

名称: 深入剖析Tomcat
作者信息: 作者: 克尼亚万 (Bubi Kurniawan) [ 中文 pdf ]

简单介绍

《深入剖析Tomcat》编辑推荐:深入理解Tomcat的必读之作,欲知其然,更欲知其所以然。《深入剖析Tomcat》以Tomcat 4和Tomcat 5两个版本为基础,从建立一个最简单的连接开始,深入介绍Tomcat的体系结构。从连接器到最终的JMX管理,循序渐进,层层深入。每一章有配有相关代码,既是对理论内容的具体展现,也可以帮助读者编写一个实用的应用服务器。在内容上,《深入剖析Tomcat》更关注对Tomcat基本体系结构的讲解,并没有涉及在实际应用中的具体实现细节。希望读者在阅读的时候,着重把握Torrical的一些设计思想,在此基础上,再针对某一方面进行深入的学习和研究。《深入剖析Tomcat》深入剖析Tomcat 4和Tomcat 5中的每个组件,并揭示其内部工作原理。通过学习《深入剖析Tomcat》,你不仅可以自行开发Tomcat组件,而且可以扩展已有的组件。《深入剖析Tomcat》主要内容:如何开发Java Web服器。Tomcat是否会为每个servlet类创建多个实例。Tomcat如何运行一个实现Simple Thread Model接El的servlet类。servlet容器的两个主要模块:连接器和servlet容器。如何构建或者扩展已有的连接器。4种servlet容器:Engine、Host、Context和Wrapper。T0mcat如何管理Session,以及如何在分布式环境下扩展Session管理器。Tomcat中的类载入器和如何创建自定义载入器。Tomcat如何实现安全性和基本/基于表单/摘要的身份验证。Tomcat中的领域与登录配置是如何工作的。Tomcat如何处理配制文件(server.xml),以及如何通过Digester库将XML元素转换Java对象。Tomcat中的关闭钩子。JMX、Apache的Commons Modeler和Tomcat中的JMX托管资源。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
译者序
前言
第1章 一个简单的Web服务器
1.1 HTTP
1.1.1 HTTP请求
1.1.2 HTTP响应
1.2 Socket类
1.3 应用程序
1.3.1 HttpServer类
1.3.2 Request类
1.3.3 Response类
1.3.4 运行应用程序
1.4 小结

第2章 一个简单的servlet容器 2.1 javax.servlet.Servlet接口 2.2 应用程序 2.2.1 HttpServer1类 2.2.2 Request类 2.2.3 Response类 2.2.4 StaticResourceProcessor类 2.2.5 servletProcessor1类 2.2.6 运行应用程序 2.3 应用程序 2.4 小结

第3章 连接器 3.1 StringManager类 3.2 应用程序 3.2.1 启动应用程序 3.2.2 HttpConnector类 3.2.3 创建HttpRequest对象 3.2.4 创建HttpResponse对象 3.2.5 静态资源处理器和servlet处理器 3.2.6 运行应用程序 3.3 小结

第4章 Tomcat的默认连接器 4.1 HTTP1.1 的新特性 4.1.1 持久连接 4.1.2 块编码 4.1.3 状态码100的使用 4.2 Connector接口 4.3 HttpConnector类 4.3.1 创建服务器套接字 4.3.2 维护HttpProcessor实例 4.3.3 提供HTTP请求服务 4.4 HttpProcessor类 4.5 Request对象 4.6 Response对象 4.7 处理请求 4.7.1 解析连接 4.7.2 解析请求 4.7.3 解析请求头 4.8 简单的Container应用程序 4.9 小结

第5章 servlet容器 5.1 Container接口 5.2 管道任务 5.2.1 Pipeline接口 5.2.2 Valve接口 5.2.3 ValveContext接口 5.2.4 Contained接口 5.3 Wrapper接口 5.4 Context接口 5.5 Wrapper应用程序 5.5.1 ex05.pyrmont.core.SimpleLoader类 5.5.2 ex05.pyrmont.core.SimplePipeline类 5.5.3 ex05.pyrmont.core.SimpleWrapper类 5.5.4 ex05.pyrmont.core.SimpleWrapperValve类 5.5.5 ex05.pyrmont.valves.ClientIPLoggerValve类 5.5.6 ex05.pyrmont.valves.HeaderLoggerValve类 5.5.7 ex05.pyrmont.startup.Bootstrap 5.5.8 运行应用程序 5.6 Context应用程序 5.6.1 ex05.pyrmont.core.SimpleContextValve类 5.6.2 ex05.pyrmont.core.SimpleContextMapper类 5.6.3 ex05.pyrmont.core.SimpleContext类 5.6.4 ex05.pyrmont.startup.Bootstrap 5.6.5 运行应用程序 5.7 小结

第6章 生命周期 6.1 Lifecycle接口 6.2 LifecycleEvent类 6.3 LifecycleListener接口 6.4 LifecycleSupport类 6.5 应用程序 6.5.1 ex06.pyrmont.core.SimpleContext类 6.5.2 ex06.pyrmont.core.SimpleContextLifecycleListener类 6.5.3 ex06.pyrmont.core.SimpleLoader类 6.5.4 ex06.pyrmont.core.SimplePipeline类 6.5.5 ex06.pyrmont.core.SimpleWrapper类 6.5.6 运行应用程序 6.6 小结

第7章 日志记录器 7.1 Logger接口 7.2 Tomcat的日志记录器 7.2.1 LoggerBase类 7.2.2 SystemOutLogger类 7.2.3 SystemErrLogger类 7.2.4 FileLogger类 7.3 应用程序 7.4 小结

第8章 载入器 8.1 Java的类载入器 8.2 Loader接口 8.3 Reloader接口 8.4 WebappLoader类 8.4.1 创建类载入器 8.4.2 设置仓库 8.4.3 设置类路径 8.4.4 设置访问权限 8.4.5 开启新线程执行类的重新载入 8.5 WebappClassLoader类 8.5.1 类缓存 8.5.2 载入类 8.5.3 应用程序 8.6 运行应用程序 8.7 小结

第9章 Session管理 9.1 Session对象 9.1.1 Session接口 9.1.2 StandardSession类 9.1.3 StandardSessionFacade类 9.2 Manager 9.2.1 Manager接口 9.2.2 ManagerBase类 9.2.3 StandardManager类 9.2.4 PersistentManagerBase类 9.2.5 PersistentManager类 9.2.6 DistributedManager类 9.3 存储器 9.3.1 StoreBase类 9.3.2 FileStore类 9.3.3 JDBCStore类 9.4 应用程序 9.4.1 Bootstrap类 9.4.2 SimpleWrapperValve类 9.4.3 运行应用程序 9.5 小结

第10章 安全性 10.1 领域 10.2 GenericPrincipal类 10.3 LoginConfig类 10.4 Authenticator接口 10.5 安装验证器阀 10.6 应用程序 10.6.1 ex10.pyrmont.core.SimpleContextConfig类 10.6.2 ex10.pyrmont.realm.SimpleRealm类 10.6.3 ex10.pyrmont.realm.SimpleUserDatabaseRealm 10.6.4 ex10.pyrmont.startup.Bootstrap1类 10.6.5 ex10.pyrmont.startup.Bootstrap2类 10.6.6 运行应用程序 10.7 小结

第11章 StandardWrapper 11.1 方法调用序列 11.2 SingleThreadModel 11.3 StandardWrapper 11.3.1 分配servlet实例 11.3.2 载入servlet类 11.3.3 ServletConfig对象 11.3.4 servlet容器的父子关系 11.4 StandardWrapperFacade类 11.5 StandardWrapperValve类 11.6 FilterDef类 11.7 ApplicationFilterConfig类 11.8 ApplicationFilterChain类 11.9 应用程序 11.1 0小结

第12章 StandardContext类 12.1 StandardContext的配置 12.1.1 StandardContext类的构造函数 12.1.2 启动StandardContext实例 12.1.3 invoke()方法 12.2 StandardContextMapper类 12.3 对重载的支持 12.4 backgroundProcess()方法 12.5 小结

第13章 Host和Engine 13.1 Host接口 13.2 StandardHost类 13.3 StandardHostMapper类 13.4 StandardHostValve类 13.5 为什么必须要有一个Host容器 13.6 应用程序1 13.7 Engine接口 13.8 StandardEngine类 13.9 StandardEngineValve类 13.1 0应用程序2 13.1 1小结

第14章 服务器组件和服务组件 14.1 服务器组件 14.2 StandardServer类 14.2.1 initialize()方法 14.2.2 start()方法 14.2.3 stop()方法 14.2.4 await()方法 14.3 Service接口 14.4 StandardService类 14.4.1 connector和container 14.4.2 与生命周期有关的方法 14.5 应用程序 14.5.1 Bootstrap类 14.5.2 Stopper类 14.5.3 运行应用程序 14.6 小结

第15章 Digester库 15.1 Digester库 15.1.1 Digester类 15.1.2 Digester库示例1 15.1.3 Digester库示例2 15.1.4 Rule类 15.1.5 Digester库示例3:使用Rule Set 15.2 Context Config类 15.2.1 default Config()方法 15.2.2 application Config()方法 15.2.3 创建Web Digester 15.3 应用程序 15.4 小结

第16章 关闭钩子 16.1 关闭钩子的例子 16.2 Tomcat中的关闭钩子 16.3 小结

第17章 启动Tomcat 17.1 Catalina类 17.1.1 start()方法 17.1.2 stop()方法 17.1.3 启动Digester对象 17.1.4 关闭Digester对象 17.2 Bootstrap类 17.3 在Windows平台上运行Tomcat 17.3.1 如何编写批处理文件 17.3.2 catalina.bat批处理文件 17.3.3 在Windows平台上启动Tomcat 17.3.4 在Windows平台上关闭Tomcat 17.4 在Linux平台上运行Tomcat 17.4.1 如何编写UNIX/Linux Shell脚本 17.4.2 catalina.sh脚本 17.4.3 在UNIX/Linux平台上启动Tomcat 17.4.4 在UNIX/Linux平台上关闭Tomcat 17.5 小结

第18章 部署器 18.1 部署一个Web应用程序 18.1.1 部署一个描述符 18.1.2 部署一个WAR文件 18.1.3 部署一个目录 18.1.4 动态部署 18.2 Deploy接口 18.3 Standard Host Deployer类 18.3.1 安装一个描述符 18.3.2 安装一个WAR文件或目录 18.3.3 启动Context实例 18.3.4 停止一个Context实例 18.4 小结

第19章 Manager应用程序的servlet类 19.1 使用Manager应用程序 19.2 Containerservlet接口 19.3 初始化Manager Servlet 19.4 列出已经部署的Web应用程序 19.5 启动Web应用程序 19.6 关闭Web应用程序 19.7 小结

第20章 基于JMX的管理 20.1 JMX简介 20.2 JMXAPI 20.2.1 MBean Server类 20.2.2 ObjectName类 20.3 标准MBean 20.4 模型MBean 20.4.1 MBeanInfo接口与ModelM BeanInfo接口 20.4.2 Model MBean示例 20.5 Commons Modeler库 20.5.1 MBean描述符 20.5.2 mbean元素示例 20.5.3 自己编写一个模型MBean类 20.5.4 Registry类 20.5.5 Managed Bean 20.5.6 BaseModel MBean 20.5.7 使用Modeler库API 20.6 Catalian中的MBean 20.6.1 ClassName MBean类 20.6.2 StandardServer MBean类 20.6.3 MBeanFactory类 20.6.4 MBeanUtil 20.7 创建Catalina的MBean 20.8 应用程序 20.9 小结

亚马逊链接

欢迎关注我的其它发布渠道