查看: 518|回复: 4
收起左侧

[Tomcat] How Tomcat Works中文版 pdf版 电子书 下载.pdf [367页][2M]

[复制链接]

566

主题

704

帖子

3462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3462
发表于 2017-4-12 09:26:30 | 显示全部楼层 |阅读模式
How Tomcat Works中文版 pdf版 电子书 下载.pdf [367页][2M]


20170315003762.jpg

介绍

概要
欢迎阅读《 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 类等等。
  




百度云盘私密分享地址:
链接:http://pan.baidu.com/s/1c2kWJxI


提取码,回复可见:
游客,如果您要查看本帖隐藏内容请回复


回复

使用道具 举报

0

主题

45

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2017-11-14 16:04:15 | 显示全部楼层
阿三飞洒地方
回复 支持 反对

使用道具 举报

0

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
发表于 2018-1-24 17:59:05 | 显示全部楼层
666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

10

帖子

37

积分

新手上路

Rank: 1

积分
37
发表于 2018-3-19 15:10:51 | 显示全部楼层
6666666666666
回复 支持 反对

使用道具 举报

0

主题

34

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2018-11-5 14:29:25 | 显示全部楼层
11111111111
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 打开微信扫一扫