How Tomcat Works中文版01

最近抽时间想说来把How Tomcat Works翻译看看,能翻多少算多少吧,以下是书的内容:

Introduction

综述:

欢迎来到How Tomcat Works,该书剖析Tomcat并解释了它其中名为Catalina的Servlet容器的工作原理,它免费,开源并且最为流行。Tomcat是一个复杂系统,由许多不同组件组成。那些想要学习Tomcat的人往往知道从哪开始。这本书先是整体,然后详细解释各部分,这样才会印象深刻。

         你应该阅读这个综述应该它解释了书的结构,并且给你简短介绍了所需的软件。Preparing the Prerequisite Software部分会建议你下载哪些软件,如何组织你的代码结构,ETC.


这本书写给:

这本书写给所有的JAVA工作者。

为了更好的阅读此书,你需要理解面向对象编程,servlet编程。如果你对servlet不熟悉,推荐看一本书:Budi’s JAVA for the web with servlets, jsp and ejb。为了更好的理解主题,每章都会有背景信息。


Servlet容器如何工作:

Servlet容器是个复杂系统,主要是为了servlet能响应请求,主要由三部分组成:

[if !supportLists]1.      [endif]创建一个request对象,并绑定会被servlet用到的信息,比如参数,请求头,cookies,查询字符串,URI等等。这个request对象实现了javax.servlet.ServletRequest或者javax.servlet.http.ServletRequest接口。

[if !supportLists]2.      [endif]创建一个response对象,servlet会用它来向web客户端发送响应。这个response对象实现了javax.servlet.ServletResponse或者java.servlet.http.ServletResponse对象。

[if !supportLists]3.      [endif]调用servlet的服务方法,传递request和response,在这里servlet可以阅读request的值,还可以把值写入response对象。

接下来会有对Catalina Servlet容器的详细阐述。


Catalina块状图

         Catalina是一个精致的软件,它的设计和构成很高级,并且模块化。“How a Servlet Container works”章节将会介绍其基本任务,你会发现它其实由两大部分组成:Connector和Container.

特征1:Catalina的主体部分

         Connector是连接某个请求和container的,它的任务是为了它接收的每个http请求构建一个请求对象以及,一个response对象。然后它会交给container进行加工。Container接收后会调用servlet的方法。

         请记住,这个介绍只能说是冰山一角。Container做了许多许多的事情,比如:在它调用servlet的方法之前,它必须要先加载servlet,识别用户权限,刷新用户session,所以它会用到许多不同的模块去处理也不足为奇了。比如说:管理员模块是用来管理用户session,装载模块是用来装载servlet的。


Tomcat4和Tomcat5

         这段不想翻,没啥意思


各章综述

         这本书共有20章。开始前两章是介绍。第一章解释了一个HTTP服务器是怎么工作的,第二章讲一个简单的容器。第三、四章讲connector,五~二十章讲容器的每个组件,以下是各章的概述。

         值得注意的是,每一章都会用一个示例应用去介绍相应的组件。


第一章

         作为书的开头,讲一个简单的HTTP服务器,去做一个能够正常工作的HTTP服务器,你需要了解其内部两个java类:Socket和ServerSocket。这是一个有用的提示,为了你能更好的理解服务器是如何工作的。


第二章:

         解释一个简单的servlet容器是如何工作的。这一章也会讲两个简单例子,一个能够访问静态资源,一个能够响应简单的servlet,特别是你会学到如何创建request和response对象并把它们传给相应的servlet方法。当然,你可以从浏览器来调用servlet容器中的某一个servlet。


第三章:

         讲一个Tomcat4默认connector的简化版本,这一章会做一个应用,相当于是给第四章做铺垫了。


第四章:

         讲Tomcat4的默认connector,这个connector后面因为速度问题被一个叫Coyote的connector取代了。恩。。。所以这个connector更简单,更好理解,更易于入门。


第五章:

         讨论container模块,这个模块实现了org.apache.catalina.Container接口,container有四种类型:engine,host,context,wrapper。这章用context和wrapper做了两个应用。


第六章:

         解释Lifecycle接口,这个接口定义了catalina组件的生命周期,还提供了一种发送通知给其他组件的高级方式。另外,这个接口有一个全局的开始、停止机制,可以同时开始、停止所有组件。


第七章:

         讲loggers,是一个记录错误和其他信息的模块。


第八章:

         讲loaders,是catalina的重要部分,负责加载servlet和web应用会用到的其他类。同时,这章也讲了如何去重新加载servlet。


第九章:

         讲manager,管理会话的组件。许多不同类型的manager,以及如何持久化存储会话对象。在这章结尾,会教你做一个简单应用,用标准版manager,跑一个servlet,并且用会话对象去存值。


第十章:

         讲web应用安全,主要是限制访问某个部分的内容,你会学到:principles,roles,login config,authenticators等等。你会写两个应用,有权限过滤,用到StandardContext,有基本的用户权限功能。


第十一章:

         详细解释StandardWrapper,在web应用中它用来一个servlet。这章会特别提到怎么过滤,servlet的方法怎么被调用。这章的应用会用StandardWrapper做。


第十二章:

         详细解释StandardContext,它代表一个web应用。讨论一个StandardContext如何配置,当每个HTTP请求时它内部是如何工作的,它是如何支持自动重载的,以及如何与关联组件如何分享定时任务线程。


第十三章:

         讲StandardEngine和StandardHost。


第十四章:

         Server和service组件,server负责启动和停止整个servlet容器,service负责掌控住一个容器和多个connector。这章的应用会告诉我们怎么用server和service.


第十五章:

         通过digester解析一个web应用的配置,digester是apache基金会的一个牛逼项目。它可以通过digester库把XML里面的节点解析成java对象。然后会介绍StandardContext的配置对象ContextConfig.


第十六章:

         Tomcat的结束回调配件,通常在这个时候我们会对Tomcat做一次大扫除。


第十七章:

         介绍用批处理文件或者终端命令来控制Tomcat的启停。


第十八章:

         介绍deployer,用来部署和安装web应用的组件。


第十九章:

         介绍一个特殊接口:ContainerServlet,它提供了一种访问catalina内部对象的方式。尤其是,还要介绍Manager应用,用来管理部署好的web应用。


第二十章:

         介绍JMX,以及Tomcat如何通过MBeans来管理其内部的对象。


每一章的app

         每一章都会有一到两个app,来介绍catalina的某一个组件。通常,你会看到一个简化版本,或者是如何去用catalina组件的一段代码。所有类和接口都不会超过上一章的范围。


好了,请把要用的软件安装好。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容