设为首页 收藏本站
查看: 495|回复: 0

[经验分享] 译How Tomcat Works(简介)

[复制链接]
发表于 2017-1-20 11:29:51 | 显示全部楼层 |阅读模式
简介
概述
欢迎您阅读《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文件,你可以获得更多信息。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-331168-1-1.html 上篇帖子: tomcat内存溢出(转) 下篇帖子: 修改设置Tomcat内
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表