`
yangqianyu222
  • 浏览: 19575 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

译How Tomcat Works(简介)

阅读更多
简介
概述
欢迎您阅读《Tomcat是如何工作的》这本书。这本书主要剖析了Tomcat4.2.12和5.0.18的内部工作机制,开源并且非常流行的Catalina servlet container的代码。Tomcat 是一个复杂的系统,由很多不同的组件组成。想要学习Tomcat 是如何工作的通常不知道从何开始。这本书提供了大幅图片并为每个组件构建了简单的版本使其理解起来更容易些。只有以这种方式,那些组件才能被更好的诠释。
您应该从阅读此简介开始,因为它解释了本书的结构,让你知道本书的大纲。“先决软件条件”中介绍了你需要下载的软件,还有代码中的路径配置等。
此书适合的人群
这本书适合所有做Java技术的人。
 如果你是Servlet/JSP 程序员 或者Tomcat 的使用者,并且对servlet container如何工作很感兴趣。
 如果你想要加入Tomcat 开发团队,首先你需要学习现有的代码是如何工作的。
 如果你从来没接触过web开发,但是你对软件卡发感兴趣,你也可以从这本书学习到一个大的应用程序像是Tomcat是怎样被设计和开发出来的。
 如果你需要配置或自定义Tomcat,你也应该读这本书。
理解了这本书是做什么的,你需要理解java面向对象编程和servlet编程。如果你不熟悉servlet编程,这里有很多书可以订阅,包括Budi’s java for Web with Servlets,JSP, 和EJB。为了容易理解,每章都已背景信息作为开始,你需要理解讨论的主题。
Servlet Container是如何工作的
Servlet container 是一个复杂的系统。然而,基本上处理servlet请求有三件事要做:
 创建一个request对象,并和其他信息组装,以供servlet调用时使用,例如parameters,headers,cookies,query string,URI等。Request对象是javax.servlet.ServletRequest 接口或者javax.servlet.http.ServletRequest接口的实例。
 创建一个response对象,用于被调用的servlet向web客户端发送响应信息。Response对象是javax.servlet.ServletResponse接口或者javax.servlet.http.ServletResponse 接口的实例。
 调用servlet的方法,传递request和response对象。Servlet从request对象读取值并写入response对象。
Catalina 模块图
Catalina是软件中非常完善的一部分,它被开发和设计的非常之完美。它也是模块化的。基于前面提到的“servlet container是如何工作”的任务之上,你可以看到Catalina有两个主要组件:Connector 和 Container。
图1.1是简化图,在以后的章节中你将一个一个揭开所有更小的组件的面纱。

                   图1.1 Catalina 的主要模块
Connector 建立request对象与Container间的连接。它的工作就是为它接受到的每个HTTP请求构建一个request对象和一个response对象。然后交给Container处理。Container从connector接收request和response对象,它负责调用servlet的service方法。
虽然记住了这些,但是上面的描述也仅仅是冰山一角。Container还要做很多事情。例如,在Container调用servlet的service方法之前,Container必须加载该servlet,验证用户(如果需要的话),为用户更新session等。Container使用很多不同的模块来处理这些一点也不奇怪。例如,管理模块是为了处理用户的sessions,加载器是为了加载servlet class 等。
Tomcat 4 和 5
这本书涵盖了Tomcat 4和5 它们之间有些不同之处:
 Tomcat 5 支持servlet 2.4和JSP 2.0规范,Tomcat 4 支持Servlet 2.3和JSP 1.2
 Tomcat 5比4具有更高效的connector
 Tomcat 5 后台进程共享一个线程,然而Tomcat 4的后台进程,所有组件都有它们自己的线程。因此Tomcat 5使用更少的资源。
 Tomcat 5 不需要mapper 组件去找到它的子组件,因此简化了代码
章节概览(略)

先决软件条件
本书的运行环境是J2SE 1.4。压缩包可以在作者的网站上下载到www.brainysoftware.com  包含Tomcat 4.1.12 的代码和本书中程序代码。如果你已经安装了J2SE 1.4 并且配置了JDK的环境变量。按以下步骤操作:
1.  解压文件到HowTomcatWorks路径下。 HowTomcatWorks是你的工作路径,它下面还有很多子文件夹,包括lib (包含所需要的所有的包), src (包含源文件), webroot (包含一个HTML文件和三个Servlet), and webapps (包含实例程序)。
2. 设置工作路径并编译java文件。如果你使用Windows,运行win-compile.bat文件。如果是Linux,输入  ./linux-compile.sh 压缩文件下有Readme.txt文件,你可以获得更多信息。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics