tomcat工作原理深入详解——How Tomcat Works 中文版
- 格式:doc
- 大小:772.50 KB
- 文档页数:83
tomcat运行原理
Tomcat是一个基于Java语言实现的Web服务器,它可以同时处理多个客户端请求,支持HTTP、HTTPS、SMTP等协议,并提供Servlet 和JSP等网页开发技术的支持。
Tomcat的运行原理主要分为以下几个步骤:
1. 读取配置文件:Tomcat启动时会读取server.xml等配置文件,解析其中的配置信息,例如端口号、访问权限等。
2. 启动内部服务:Tomcat会启动若干个内部服务,如连接池、线程池等,为后续的处理请求做好准备。
3. 创建Socket监听器:Tomcat会创建一个ServerSocket,监听客户端的请求连接,并把连接传给处理器。
4. 处理连接:当客户端请求连接时,Tomcat会将连接传给处理器,处理器会判断请求的协议类型,如HTTP、HTTPS、SMTP等,并通过对应的端口号和协议的处理器来处理该请求。
5. 选择处理器:Tomcat中有若干个处理器,每个处理器都负责处理不同类型的请求,处理器会选择最合适的请求来处理当前请求。
6. 处理请求:选择处理器后,Tomcat会将请求传给处理器,处理器会根据请求的类型来处理该请求,如返回静态文件、执行Servlet 或JSP等动态请求。
7. 结束请求:请求处理完成后,Tomcat会将结果返回给客户端,并关闭连接。
总的来说,Tomcat的运行原理就是通过监听器、处理器等各个组件来接收和处理客户端的请求,并完成相应的响应工作,最终保证Web 服务器的稳定和高效运行。
tomcat 工作原理
Tomcat是一个开源的Java Servlet容器,用于执行Java Servlet 和JavaServer Pages(JSP)。
Tomcat的工作原理可以简要概括为以下几个步骤:
1. Tomcat启动:Tomcat被启动时会读取其配置文件,并根据配置文件的设置创建和初始化各种组件。
2. 监听端口:Tomcat会在指定端口上监听HTTP请求。
3. 接收请求:当Tomcat接收到一个HTTP请求时,它会创建一个新的线程来处理该请求。
4. 解析请求:Tomcat会解析HTTP请求,包括解析请求行、消息头和消息体。
5. 通过Web容器调度请求:Tomcat会把请求交给内置的Web 容器,Web容器会根据部署在Tomcat上的Web应用的配置信息,找到合适的Servlet。
6. Servlet处理请求:Web容器找到合适的Servlet后,会创建一个Servlet实例,然后将请求和响应对象作为参数传递给Servlet的service()方法。
7. Servlet的service()方法处理请求:在Servlet的service()方法中,开发人员可以根据业务逻辑来处理请求,包括读取请求参
数、处理业务逻辑、生成响应数据等。
8. 生成响应:在Servlet的service()方法中,通过调用响应对象的方法来生成HTTP响应。
9. 发送响应:Tomcat会将生成的HTTP响应发送给客户端。
10. 关闭连接:当请求处理完成后,Tomcat会关闭与该客户端的连接。
以上就是Tomcat的大致工作原理,当然还包括很多细节和复杂性,但这是一个简要的说明。
tomcat 工作原理Tomcat是一个轻量级Web服务器,也是一个JSP容器。
它是Apache软件基金会的一个开放源代码项目,用于处理Java Servlet和JavaServer Pages (JSP)等动态网页。
Tomcat工作原理如下:1.客户端发送请求到Tomcat服务器当浏览器发送请求时,该请求将被定向到Tomcat服务器。
Tomcat服务器会处理该请求并响应给客户端。
2.Tomcat封装请求Tomcat服务器将接收到的请求封装成HTTP请求,处理并发送到相应的Servlet/JSP。
3.Servlet/JSP处理请求Servlet/JSP程序接收到HTTP请求,并根据请求类型执行相应的操作。
例如:如果是HTTP GET请求,Servlet/JSP程序将执行相应的doGet方法。
4.Servlet/JSP响应请求Servlet/JSP程序处理完HTTP请求后,会向Tomcat服务返回响应,并将其封装成HTTP响应。
在响应中,数据将被返回到客户端。
5.Tomcat响应客户端当Tomcat服务器从Servlet/JSP接收到HTTP响应时,它将该响应传递给浏览器。
这将完成HTTP请求与响应过程。
总结Tomcat工作过程需要客户端、Tomcat服务器、Servlet/JSP程序之间的相互配合。
Tomcat服务器担任处理请求并响应客户端的角色,Servlet/JSP程序用于处理数据和界面的开发,客户端负责触发请求并获得结果。
Tomcat的高性能和稳定性是由其设计和工作方式得出的。
Tomcat灵活的部署方式和高可靠性的服务使它成为Java Web应用的主要选择之一。
Tomcat系统架构与原理剖析1. 浏览器访问服务器的流程浏览器访问服务器使⽤的是 Http协议, Http协议是应⽤层协议,⽤于定义数据通信的格式,具体的数据传输使⽤的是 TCP/IP协议。
2. Tomcat 系统总体架构Tomcat是⼀个 Http服务器(能够接受并且处理 http 请求,所以 Tomcat 是⼀个 Http服务器)。
2.1. Tomcat 处理请求⼤致流程HTTP服务器接收到请求之后把请求交给 Servlet容器来处理, Servlet容器通过 Servlet接⼝调⽤业务类。
Servlet接⼝和 Servlet容器这⼀整套内容叫作 Servlet规范。
Servlet容器有解耦的作⽤,避免 Http服务器和业务类的直接耦合。
由于 Tomcat 根据 Servlet规范实现了 Servlet容器,同时它⼜具有 Http服务器的功能,所以Tomcat 拥有两个重要⾝份:Servlet容器Http服务器2.2. Tomcat Servlet容器处理流程当⽤户请求某个URL资源时:1) Http服务器会把请求信息封装成 Request对象,再转化成 ServletRequest对象,传⼊Servlet容器;2) Servlet容器接收到请求后,根据 URL 和 Servlet 的映射关系(必要的配置信息),找到对应的 Servlet ;3) 如果 Servlet 还没有被加载,使⽤反射技术创建该 Servlet ,并调⽤ Servlet 的 init ⽅法来完成初始化;4) 调⽤ Servlet 的 service ⽅法处理请求,将请求处理结果封装成 ServletResponse 对象,返回给 Http服务器;5) Http服务器将接收到的 ServletResponse对象转化成 Response对象,返回给客户端。
2.3. Tomcat 系统总体架构Tomcat设计了两个核⼼组件连接器(Connector)和容器(Container)来完成 Tomcat 的两⼤核⼼功能:连接器:负责对外交流,处理Socket连接,负责⽹络字节流和 Request/Response 对象的转化;容器:负责内部处理,加载和管理Servlet,以及具体请求的处理。
Tomcat简单配置使⽤,基本⼯作原理(流程图)Tomcat 简单配置使⽤,基本⼯作原理安装 Tomcat 之前,⾸先要安装 JDK。
常见 Tomcat 启动异常1、JAVA_HOME 环境变量配置错误2、默认8080端⼝被占⽤启动安装路径下:...Apache Software Foundation\Tomcat 8.5\binstartup.bat 启动服务器shutdown.bat 关闭服务器各⽂件夹⽤途bin:启动和关闭tomcat的bat⽂件conf:配置⽂件server.xml该⽂件⽤于配置server相关的信息,⽐如tomcat启动的端⼝号,配置主机(Host)oweb.xm1⽂件配置与web应⽤(web应⽤相当于⼀个web站点)lib:该⽬录放置运⾏tomcat运⾏需要的jar包logs:存放⽇志,当我们需要查看⽇志的时候,可以查询信息webapps:放置我们的web应⽤work⼯作⽬录︰该⽬录⽤于存放jsp被访问后⽣成对应的server⽂件和.class⽂件web 站点⽂件夹规范创建虚拟⽬录⽬的:为了防⽌单个磁盘出现内存不⾜,也便于管理 web 站点。
建⽴⼀个web 站点1、在任意磁盘的任意⽂件夹下,新建⽂件夹,表⽰新建的站点。
(这⾥以 D 盘,新建⽂件夹名为 web01)还要创建如图⼀个页⾯和⼀个⽂件夹2、找到Tomcat⽬录下 /conf/server.xml ⽂件在节点下编辑加⼊:<Context path="/web01" docBase="D:\web01"/>保存即可。
访问:http://localhost:8080/web01/index.html验证是否配置成功。
还有另⼀种⽅法进⼊到 conf\Catalina\localhost ⽂件下,创建⼀个xml⽂件,该⽂件的名字就是站点的名字。
编辑该xml⽂件:<?xml version="1.0" encoding="UTF-8"?><ContextdocBase="D:\web1"reloadable="true"></Context>按上⾯⽅法访问是否配置成功。
tomcat原理Tomcat原理。
Tomcat是一个开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范。
它是Apache软件基金会的一个核心项目,也是为了让Java开发者能够更方便地开发、发布和管理Java Web应用而设计的。
在这篇文档中,我们将深入探讨Tomcat的原理,包括其架构、工作原理以及一些重要的概念。
首先,让我们来看一下Tomcat的架构。
Tomcat的架构可以分为两个主要部分,连接器和容器。
连接器负责处理客户端的请求,并将其传递给容器进行处理。
容器则负责管理Servlet的生命周期,并将请求分发给相应的Servlet进行处理。
在Tomcat中,最常见的容器是Engine、Host、Context和Wrapper。
Engine负责处理多个虚拟主机的请求,Host负责处理一个虚拟主机的请求,Context负责处理一个Web应用的请求,而Wrapper则负责处理一个Servlet的请求。
接下来,让我们来看一下Tomcat的工作原理。
当一个客户端发送请求时,连接器会首先接收到这个请求,并将其传递给容器。
容器会根据请求的URL来确定应该由哪个Context来处理。
然后,容器会将请求分发给相应的Servlet进行处理。
Servlet会生成响应,并将其返回给容器。
最后,容器将响应返回给连接器,连接器再将其返回给客户端。
这就是Tomcat处理请求的基本流程。
除了架构和工作原理,还有一些重要的概念需要我们了解。
其中最重要的一个概念就是Servlet。
Servlet是一个Java类,它可以接收来自客户端的请求,并生成响应。
在Tomcat中,Servlet通常被打包成一个WAR文件,并部署到Tomcat的webapps目录下。
另一个重要的概念是Session。
Session用来跟踪用户的状态,它可以存储用户的信息,并在用户访问不同的页面时保持状态的一致性。
tomcat工作原理深入详解目录一、Tomcat简介 (3)1.1 Tomcat的历史与发展 (4)1.2 Tomcat的应用领域 (5)1.3 Tomcat的特点与优势 (6)二、Tomcat的工作模式 (8)2.1 Tomcat作为Servlet容器 (10)2.2 Tomcat作为Web服务器 (12)2.3 Tomcat作为应用服务器 (14)三、Tomcat的架构分析 (15)3.1 Tomcat的整体架构 (16)3.2 Tomcat的模块组成 (17)3.3 Tomcat的架构扩展性 (19)四、Tomcat的启动与关闭 (21)4.1 Tomcat的启动过程 (22)4.2 Tomcat的关闭过程 (23)4.3 Tomcat的运行时参数配置 (25)五、Tomcat的线程管理 (26)5.1 Tomcat的线程模型 (27)5.2 Tomcat的线程池管理 (29)5.3 Tomcat的线程安全问题 (30)六、Tomcat的请求处理流程 (32)6.1 请求到达Tomcat的路径 (33)6.2 请求在Tomcat内部的流转 (35)6.3 响应在Tomcat内部的生成与返回 (36)七、Tomcat的集群与负载均衡 (38)7.1 Tomcat的集群模式 (40)7.2 负载均衡的策略与实现 (41)7.3 集群与负载均衡的性能优化 (42)八、Tomcat的安全管理 (44)8.1 Tomcat的安全漏洞 (46)8.2 Tomcat的安全配置 (48)8.3 Tomcat的安全防护措施 (49)九、Tomcat的性能优化 (51)9.1 Tomcat的性能监控 (54)9.2 Tomcat的性能调优 (55)9.3 Tomcat的性能瓶颈分析与解决 (57)十、Tomcat的日志分析 (57)10.1 Tomcat的日志种类与作用 (58)10.2 Tomcat的日志分析工具 (60)10.3 Tomcat的日志分析与优化建议 (62)十一、总结与展望 (64)11.1 Tomcat的工作原理总结 (64)11.2 Tomcat的发展趋势与未来展望 (66)一、Tomcat简介Apache Tomcat 是一个开源的 Java Servlet 容器,它实现了Java Servlet、JavaServer Pages(JSP)、Java Expression Language 和 Java WebSocket 技术规范。
简述tomcat工作原理
Tomcat是一个开源的Java Servlet容器,它充当了一个Web服务器的角色,并能够托管Java的Web应用程序。
Tomcat的工
作原理可以简述如下:
1. Tomcat启动时,会读取配置文件,如server.xml和web.xml。
这些配置文件包含了Tomcat的各种设置,如端口号、虚拟主
机配置、Servlet和其他Web应用程序的部署信息等。
2. Tomcat监听指定的端口号(默认为8080),等待客户端的
连接请求。
3. 当有客户端请求访问Tomcat时,Tomcat接收到请求后,会
根据请求的URL路径找到对应的Web应用程序。
4. Tomcat会按照配置文件中的规则,将请求交给对应的Servlet进行处理。
Servlet是Java编写的,用于处理客户端的HTTP请求和生成HTTP响应的组件。
5. Servlet会根据客户端的请求进行处理,并生成相应的HTTP
响应,然后将响应返回给Tomcat。
6. Tomcat将HTTP响应发送给客户端,完成一次请求-响应周期。
7. Tomcat会维护一个线程池,用于处理多个并发请求。
这样
可以提高性能和响应速度。
总之,Tomcat作为Java Servlet容器,通过监听端口、解析请求、调用相应的Servlet和返回响应等步骤,实现了Web应用程序的运行。
它可以处理并发请求,提供了稳定和高效的Web服务。
tomcat 的工作原理Tomcat是一个开源的Web服务器,它是由Apache软件基金会下属的Jakarta项目组开发的一个Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范。
Tomcat可以作为独立的Web服务器使用,也可以作为Apache Web服务器的插件使用。
Tomcat的工作原理主要包括以下几个方面。
一、Tomcat架构Tomcat架构分为三层:底层是连接器(Connector),中间层是容器(Container),顶层是应用(Application)。
其中,连接器用于处理客户端请求,容器用于处理请求并将其转发到相应的Servlet或JSP 页面,应用则负责具体业务逻辑的实现。
1. 连接器连接器主要负责接收客户端请求,并将其转换成标准格式传递给容器进行处理。
Tomcat支持多种协议,如HTTP/1.1、AJP/1.3等。
其中HTTP/1.1是最常用的协议,它通过监听80端口来接收客户端请求。
2. 容器容器主要负责管理Servlet和JSP页面,并将请求转发到相应的Servlet或JSP页面进行处理。
Tomcat中有两种类型的容器:Engine 和Host。
Engine表示整个Tomcat服务器实例,而Host则表示一个虚拟主机。
每个Host可以包含多个Context,每个Context对应一个Web应用程序。
3. 应用应用是Tomcat中最高层的组件,它负责具体业务逻辑的实现。
一个Web应用程序通常包括多个Servlet和JSP页面,它们共同组成了一个完整的Web应用。
Tomcat支持多种Web应用开发框架,如Struts、Spring等。
二、Tomcat启动过程Tomcat启动过程可以分为以下几个步骤:1. 加载配置文件Tomcat在启动时会读取conf目录下的server.xml配置文件,并根据其中的配置信息进行初始化。
该文件包含了Tomcat服务器实例、虚拟主机、Web应用程序等相关配置信息。
tomcat的工作原理Tomcat是一个开放源代码的Servlet容器,它实现了Java Servlet和JavaServer Pages规范。
它是由Apache软件基金会下属的Jakarta项目开发的,目前由Apache的Tomcat项目维护。
Tomcat的工作原理是如何的呢?让我们来详细了解一下。
首先,Tomcat是基于Java的,它需要Java虚拟机(JVM)来运行。
当Tomcat启动时,它会创建一个JVM实例,并在其中加载自己的类库和配置文件。
然后,Tomcat会监听一个或多个TCP端口,等待HTTP请求的到来。
当有请求到来时,Tomcat会根据请求的URL 找到对应的Servlet,并将请求交给该Servlet进行处理。
Servlet是一个Java类,它实现了Servlet接口,并通过覆盖doGet()、doPost()等方法来处理HTTP请求。
Tomcat会为每个Servlet创建一个实例,并在需要时调用它的方法来处理请求。
Servlet可以访问请求的参数、头部信息和内容,并生成响应发送回客户端。
除了Servlet,Tomcat还支持JavaServer Pages(JSP)。
JSP 是一种将Java代码嵌入到HTML中的技术,它允许开发者编写动态网页。
当Tomcat收到一个JSP页面的请求时,它会将该页面翻译成一个Servlet,并交给Servlet引擎来处理。
Tomcat还支持各种各样的扩展,比如过滤器、监听器、会话管理器等。
过滤器可以在请求到达Servlet之前或响应返回客户端之前对其进行处理,比如验证用户身份、压缩内容等。
监听器可以监听Servlet上下文、会话等事件,并在发生时执行相应的操作。
会话管理器可以跟踪用户的会话状态,比如登录信息、购物车内容等。
另外,Tomcat还有一个重要的组件是连接器(Connector)。
连接器负责处理底层的网络通信,它可以支持不同的协议,比如HTTP、HTTPS、AJP等。
How Tomcat Works中文版介绍概要欢迎阅读《How Tomcat Works》这本书。
这本书解剖了Tomcat4.1.12和5.0.18版本,解释了它的servlet容器的内部运行机制,那是一个免费的,开源的,最受欢迎的servlet容器,代号为Catalina。
Tomcat是一个复杂的系统,由许多不同的组件构成。
那些想要学习Tomcat运行机制的朋友大部分知道从何入手。
这本书会提供一个蓝图,然后为每一个组件构造一个简化版本,使得可以更加容易的理解这些组件。
在这之后才会对真实的组件进行解释。
你应该从这份简介开始阅读,因为它解释了这本书的结构,同时给你勾画了这个项目构造的简洁轮廓。
“准备前提软件”这一节会给你一些指示,例如你需要下载什么样的软件,如何为你的代码创建目录结构等等。
本书为谁而作这本书是为任何一个使用Java技术进行工作的人而准备的。
∙假如你是一个servlet/jsp程序员或者一个Tomcat用户,而且对一个servlet容器是如何工作这个问题你感兴趣的话,这本书就是为你准备的。
∙假如你想加入Tomcat的开发团队的话,这本书就是为你准备的,因为你首先需要学习那些已存在的代码是如何工作的。
∙假如你从未涉及web开发,但你对一般意义上的软件开发感兴趣的话,你可以在这本书学到一个像Tomcat一样的大型项目是如何进行设计和开发的。
∙假如你想配置和自定义Tomcat,你也应该读读这本书。
为了理解书中的讨论,你需要了解Java面向对象编程技术以及servlet编程。
假如你对这些不熟悉的话,这里有很多书籍可以参考,包括Budi的《Java for the Web with Servlets, JSP, and EJB》。
为了让这些材料更容易理解,每一章开始都会有便于理解所讨论主题的必要的背景资料介绍。
Servlet容器是如何工作的servlet容器是一个复杂的系统。
不过,一个servlet容器要为一个servlet 的请求提供服务,基本上有三件事要做:∙创建一个request对象并填充那些有可能被所引用的servlet使用的信息,如参数、头部、cookies、查询字符串、URI等等。
一个 request对象是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest 接口的一个实例。
∙创建一个response对象,所引用的servlet使用它来给客户端发送响应。
一个response对象 javax.servlet.ServletResponse或javax.servlet.http.ServletResponse接口的一个实例。
∙调用servlet的service方法,并传入request和response对象。
在这里servlet会从request对象取值,给 response写值。
当你读这些章节的时候,你将会找到关于catalina servlet容器的详细讨论。
Catalina架构图Catalina是一个非常复杂的,并优雅的设计开发出来的软件,同时它也是模块化的。
基于“Servlet容器是如何工作的”这一节中提到的任务,你可以把Catalina看成是由两个主要模块所组成的:连接器(connector)和容器(container)。
在Figure I.1中的架构图,当然是简化了。
在稍后的章节里边,你将会一个个的揭开所有更小的组件的神秘面纱。
现在重新回到Figure I.1,连接器是用来“连接”容器里边的请求的。
它的工作是为接收到每一个HTTP请求构造一个request和response对象。
然后它把流程传递给容器。
容器从连接器接收到requset和response对象之后调用servlet的service方法用于响应。
谨记,这个描述仅仅是冰山一角而已。
这里容器做了相当多事情。
例如,在它调用servlet的service方法之前,它必须加载这个servlet,验证用户(假如需要的话),更新用户会话等等。
一个容器为了处理这个进程使用了很多不同的模块,这也并不奇怪。
例如,管理模块是用来处理用户会话,而加载器是用来加载servlet类等等。
Tomcat 4和5这本书涵盖了Tomcat4和5.这两者有一些不同之处:∙Tomcat 5支持Servlet 2.4和JSP 2.0规范,而Tomcat 4支持Servlet 2.3和JSP 1.2。
∙比起Tomcat 4,Tomcat 5有一些更有效率的默认连接器。
∙Tomcat 5共享一个后台处理线程,而Tomcat 4的组件都有属于自己的后台处理线程。
因此,就这一点而言,Tomcat 5消耗较少的资源。
∙Tomcat 5并不需要一个映射组件(mapper component)用于查找子组件,因此简化了代码。
各章概述这本书共20章,其中前面两章作为导言。
第1章说明一个HTTP服务器是如何工作的,第2章突出介绍了一个简单的servlet容器。
接下来的两章关注连接器,第5章到第20章涵盖容器里边的每一个组件。
以下是各章节的摘要。
注意:对于每个章节,会有一个附带程序,类似于正在被解释的组件。
第1章从这本书一开始就介绍了一个简单的HTTP服务器。
要建立一个可工作的HTTP服务器,你需要知道在包里边的2个类的内部运作:Socket 和ServerSocket。
这里有关于这2个类足够的背景资料,使得你能够理解附带程序是如何工作的。
第2章说明简单的servlet容器是如何工作的。
这一章带有2个servlet容器应用,可以处理静态资源和简单的servlet请求。
尤其是你将会学到如何创建request和response对象,然后把它们传递给被请求的servlet的service 方法。
在servlet容器里边还有一个 servlet,你可以从一个web浏览器中调用它。
第3章介绍了一个简化版本的Tomcat 4默认连接器。
这章里边的程序提供了一个学习工具,用于理解第4章里边的讨论的连接器。
第4章介绍了Tomcat 4的默认连接器。
这个连接器已经不推荐使用,推荐使用一个更快的连接器,Coyote。
不过,默认的连接器更简单,更易于理解。
第5章讨论container模块。
container指的是org.apache.catalina.Container接口,有4种类型的 container:engine, host, context和wrapper。
这章提供了两个工作于context和wrapper的程序。
第6章解释了Lifecycle接口。
这个接口定义了一个Catalina组件的生命周期,并提供了一个优雅的方式,用来把在该组件发生的事件通知其他组件。
另外,Lifecycle接口提供了一个优雅的机制,用于在Catalina通过单一的start/stop来启动和停止组件第7章包括日志,该组件是用来记录错误信息和其他信息的。
第8章解释了加载器(loader)。
加载器是一个重要的Catalina模块,负责加载servlet和一个web应用所需的其他类。
这章还展示了如何实现应用的重新加载。
第9章讨论了管理器(manager)。
这个组件用来管理会话管理中的会话信息。
它解释了各式各样类型的管理器,管理器是如何把会话对象持久化的。
在章末,你将会学到如何创建一个的应用,该应用使用StandardManager实例来运行一个使用会话对象进行储值的servlet。
第10章包括web应用程序安全性的限制,用来限制进入某些内容。
你将会学习与安全相关的实体,例如主角(principals),角色(roles),登陆配置,认证等等。
你也将会写两个程序,它们在StandardContext对象中安装一个身份验证阀(authenticator valve)并且使用了基本的认证来对用户进行认证。
第11章详细解释了在一个web应用中代表一个servlet的org.apache.catalina.core.StandardWrapper类。
特别的是,这章解释了过滤器(filter)和一个servlet的service方法是怎样给调用的。
这章的附带程序使用 StandardWrapper实例来代表servlet。
第12章包括了在一个web应用中代表一个servlet的org.apache.catalina.core.StandardContext类。
特别是这章讨论了一个StandardContext对象是如何给配置的,对于每个传入的HTTP请求在它里面会发生什么,是怎样支持自动重新加载的,还有就是,在一个在其相关的组件中执行定期任务的线程中,Tomcat 5是如何共享的。
第13章介绍了另外两个容器:host和engine。
你也同样可以找到这两个容器的标准实现:org.apache.catalina.core.StandardHost和org.apache.catalina.core.StandardEngine。
第14章提供了服务器和服务组件的部分。
服务器为整个servlet容器提供了一个优雅的启动和停止机制,而服务为容器和一个或多个连接器提供了一个支架。
这章附带的程序说明了如何使用服务器和服务。
第15章解释了通过Digester来配置web应用。
Digester是来源于Apache 软件基金会的一个令人振奋的开源项目。
对那些尚未初步了解的人,这章通过一节略微介绍了Digester库以及XML文件中如何使用它来把节点转换为Java对象。
然后解释了用来配置一个 StandardContext实例的ContextConfig对象。
第16章解释了shutdown钩子,Tomcat使用它总能获得一个机会用于clean-up,而无论用户是怎样停止它的(即适当的发送一个 shutdown命令或者不适当的简单关闭控制台)。
第17章讨论了通过批处理文件和shell脚本对Tomcat进行启动和停止。
第18章介绍了部署工具(deployer),这个组件是负责部署和安装web应用的。
第19章讨论了一个特殊的接口,ContainerServlet,能够让servlet访问Catalina的内部对象。
特别是,它讨论了 Manager应用,你可以通过它来部署应用程序。
第20章讨论了JMX以及Tomcat是如何通过为其内部对象创建MBeans使得这些对象可管理的。
各章的程序每一章附带了一个或者多个程序,侧重于Catalina的一个特定的组件。
通常你可以找到这些简化版本,无论是正在被解释的组件或者解释如何使用Catalina组件的代码。
各章节的程序的所有的类和接口都放在ex[章节号].pyrmont包或者它的子包。
例如第1章的程序的类就是放在 ex01.pyrmont 包中。