没有合适的资源?快使用搜索试试~ 我知道了~
首页tomcat工作原理深入详解
tomcat工作原理深入详解
需积分: 50 13 下载量 87 浏览量
更新于2023-03-16
评论 1
收藏 773KB DOC 举报
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
资源详情
资源评论
资源推荐
How Tomcat Works 中文版
介绍
概要
欢迎阅读《》这本书。这本书解剖了
和 版本,解释了它的 容器的内部运行机制,那是一个免费的,
开源的, 最受欢迎的 容器,代号为 。 是一个复杂的
系统,由许多不同的组件构成。那些想要学习 运行机制的朋友 大部分
知道从何入手。这本书会提供一个蓝图,然后为每一个组件构造一个简化版本,
使得可以更加容易的理解这些组件。在这之后才会对真实的组件进行解释。
你应该从这份简介开始阅读,因为它解释了这本书的结构,同时给你勾画了
这个项目构造的简洁轮廓。“准备前提软件”这一节会给你一些指示,例如你需
要下载什 么样的软件,如何为你的代码创建目录结构等等。
本书为谁而作
这本书是为任何一个使用 技术进行工作的人而准备的。
假如你是一个 程序员或者一个 用户,而且对一个
容器是如何工作这个问题你感兴趣的话,这本书就是为你准备
的。
假如你想加入 的开发团队的话,这本书就是为你准备的,因为
你首先需要学习那些已存在的代码是如何工作的。
假如你从未涉及 开发,但你对一般意义上的软件开发感兴趣的话,
你可以在这本书学到一个像 一样的大型项目是如何进行设计和
开发的。
假如你想配置和自定义 ,你也应该读读这本书。
为了理解书中的讨论,你需要了解 面向对象编程技术以及 编程。
假如你对这些不熟悉的话,这里有很多书籍可以参考,包括 !"# 的 《
$% %&'&('#)!》。为了让这些材料更容易理解,
每一章开始都会有便于理解所讨论主题的必要的背景资料介绍。
Servlet 容器是如何工作的
容器是一个复杂的系统。不过,一个 容器要为一个
的请求提供服务,基本上有三件事要做*
创建一个 +" 对象并填充那些有可能被所引用的 使用的信
息,如参数、头部、、查询字符串、,-. 等等。一个 +"
对象是 /&-+" 或
/%&-+"接口的一个实例。
创建一个 对象,所引用的 使用它来给客户端发送响
应。一个 对象 /&- 或
/%&- 接口的一个实例。
调用 的 方法,并传入 +" 和 对象。在
这里 会从 +" 对象取值,给 写值。
当你读这些章节的时候,你将会找到关于 容器的详细讨论。
Catalina 架构图
是一个非常复杂的,并优雅的设计开发出来的软件,同时它也是模
块化的。基于“& 容器是如何工作的”这一节中提到的任务,你可 以把
看成是由两个主要模块所组成的:连接器01和容器
01。在 23". 中的架构图,当然是简化了。在稍后的章节里边,
你将会一个个的揭开所有更小的组件的神秘面纱。
现在重新回到 23".,连接器是用来“连接”容器里边的请求的。它的工
作是为接收到每一个 ( 请求构造一个 +" 和 对象。然后它
把流程传递 给容器。容器从连接器接收到 +" 和 对象之后调用
的 方法用于响应。谨记,这个描述仅仅是冰山一角而 已。这
里容器做了相当多事情。例如,在它调用 的 方法之前,它必
须加载这个 ,验证用户0假如需要的话1,更新用 户会话等等。一个容
器为了处理这个进程使用了很多不同的模块,这也并不奇怪。例如,管理模块
是用来处理用户会话,而加载器是用来加载 类等 等。
Tomcat 4 和 5
这本书涵盖了 和 这两者有一些不同之处*
支持 & 和 &( 规范,而 支持
&4 和 &(。
比起 , 有一些更有效率的默认连接器。
共享一个后台处理线程,而 的组件都有属于自己
的后台处理线程。因此,就这一点而言, 消耗较少的资源。
并不需要一个映射组件01用于查找子组
件,因此简化了代码。
各章概述
这本书共 章,其中前面两章作为导言。
第 章说明一个 ( 服务器是如何工作的,第 章突出介绍了一个简单的
容器。接下来的两章关注连接器,第 章到第 章涵盖容器里边的每
一个组件。以下是各章节的摘要。
注意*对于每个章节,会有一个附带程序,类似于正在被解释的组件。
第 章从这本书一开始就介绍了一个简单的 ( 服务器。要建立一个可工
作的 ( 服务器,你需要知道在 包里边的 个类的内部运 作:
& 和 &&。这里有关于这 个类足够的背景资料,使得你能够
理解附带程序是如何工作的。
第 章说明简单的 容器是如何工作的。这一章带有 个 容
器应用,可以处理静态资源和简单的 请求。尤其是你将会学 到如何创
建 +" 和 对象,然后把它们传递给被请求的 的
方法。在 容器里边还有一个 ,你可以从一个 浏
览器中调用它。
第 4 章介绍了一个简化版本的 默认连接器。这章里边的程序提供
了一个学习工具,用于理解第 章里边的讨论的连接器。
第 章介绍了 的默认连接器。这个连接器已经不推荐使用,推荐
使用一个更快的连接器,5。不过,默认的连接器更简单,更易于理解。
第 章讨论 模块。 指的是
3% 接口,有 种类型的 *3'
%'/ 和 。这章提供了两个工作于 / 和 的
程序。
第 6 章解释了 7$5 接口。这个接口定义了一个 组件的生命周
期,并提供了一个优雅的方式,用来把在该组件发生的事件通知其他组 件。另
外,7$5 接口提供了一个优雅的机制,用于在 通过单一的
来启动和停止组件
第 8 章包括日志,该组件是用来记录错误信息和其他信息的。
第 章解释了加载器0#1。加载器是一个重要的 模块,负责
加载 和一个 应用所需的其他类。这章还展示了如何 实现应用的重
新加载。
第 9 章讨论了管理器031。这个组件用来管理会话管理中的会话信息。
它解释了各式各样类型的管理器,管理器是如何把会话对象持久化的。在章 末,
你将会学到如何创建一个的应用,该应用使用 &##:3 实例来运行
一个使用会话对象进行储值的 。
第 章包括 应用程序安全性的限制,用来限制进入某些内容。你将会
学习与安全相关的实体,例如
主角01,角色01,登陆配置,认证等等。你也将会写两个程序,
它们在 &##/ 对象中安装一个身份 验证阀0"%
1并且使用了基本的认证来对用户进行认证。
第 章详细解释了在一个 应用中代表一个 的
3%&## 类。 特别的是,这章解释了
过滤器0;1和一个 的 方法是怎样给调用的。这章的附带程
序使用 &## 实例来代表 。
第 章包括了在一个 应用中代表一个 的
3%&##/ 类。特别 是这章讨论了一个
&##/ 对象是如何给配置的,对于每个传入的 ( 请求在它里
面会发生什么,是怎样支持自动重新加载的,还有就 是,在一个在其相关的组
件中执行定期任务的线程中, 是如何共享的。
第 4 章介绍了另外两个容器:% 和 3。你也同样可以找到这两个
容器的标准实 现*3%&## 和
3%&##)3。
第 章提供了服务器和服务组件的部分。服务器为整个 容器提供
了一个优雅的启动和停止机制,而服务为容器和一个或多个连接器提供了一个
支 架。这章附带的程序说明了如何使用服务器和服务。
第 章解释了通过 <3 来配置 应用。<3 是来源于
=% 软件基金会的一个令人振奋的开源项目。对那些尚未初步了解的 人,
这章通过一节略微介绍了 <3 库以及 >:7 文件中如何使用它来把节点转
换为 对象。然后解释了用来配置一个 &##/ 实例的
/;3 对象。
第 6 章解释了 %"# 钩子, 使用它总能获得一个机会用于
?",而无论用户是怎样停止它的0即适当的发送一个 %"# 命令或
者不适当的简单关闭控制台1。
第 8 章讨论了通过批处理文件和 % 脚本对 进行启动和停止。
第 章介绍了部署工具0#51,这个组件是负责部署和安装 应用
的。
第 9 章讨论了一个特殊的接口,&,能够让 访问
的内部对象。特别是,它讨论了 :3 应用,你可以通过它来部
署应用程序。
第 章讨论了 :> 以及 是如何通过为其内部对象创建 :!
使得这些对象可管理的。
各章的程序
每一章附带了一个或者多个程序,侧重于 的一个特定的组件。通
常你可以找到这些简化版本,无论是正在被解释的组件或者解释如何使用
组件的代码。各章节的程序的所有的类和接口都放在 /@章节
号A5 包或者它的子包。例如第 章的程序的类就是放在
/5 包中。
准备的前提软件
这本书附带的程序运行于 &) 版本。压缩源文件可以从作者的网站
5$
中 下载。它包括 和这本书所使
用的程序的源代码。假设你已经安装了 &) 并且你的 % 环境变量中已
经包括了 <B 的安装目录,请按照下列步骤:
解压缩 C.( 文件。所有的解压缩文件将放在一个新的目录
% 中。% 将是你的工作目录。在
% 目录下面将会有数个子目录,包括 0包括所有所
需的库1,0包括所有的源文件1, 0包括一个 :7 文件和
三个 样本1,和 0包括示例应用程序1。
改变目录到工作目录下并编译 文件。加入你使用的是 #,
运行 ? 文件。假如你的计算机是 7"/ 机器,敲 入以
下内容:0如有必要的话不用忘记使用 %# 更改文件属性1
"/?%
注意:你可以在 C.( 文件中的 -#/ 文件找到更多信息。
第一章:一个简单的 Web 服务器
本章说明 服务器是如何工作的。 服务器也成为超文本传输协
议0(1服务器,因为它使用 ( 来跟客户端进行通信的,这通常是个
浏览器。一 个基于 的 服务器使用两个重要的类:&
和 &&,并通过 ( 消息进行 通信。因此这章就自然是
从 ( 和这两个类的讨论开始的。接下去,解释这章附带的一个简单的
服务器。
超文本传输协议(HTTP)
( 是一种协议,允许 服务器和浏览器通过互联网进行来发送和接受
数据。它是一种请求和响应协议。客户端请求一个文件而服务器响应请求。
(使用可靠的 ( 连接??( 默认使用 端口。第一个 ( 版是
(9,然后被 ( 所替代。正在取代 ( 的是当 前版本
(,它定义于征求意见文档0-2166,可以
从 %*43(($66#$
下 载。
剩余63页未读,继续阅读
heroleorogan
- 粉丝: 3
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0