
Tomcat 源码研究
yuyanqifei
这个作者很懒,什么都没留下…
展开
-
Catalina.bat脚本解析
当startup脚本完成环境变量的设置后,就开始调用catalina.bat脚本来启动Tomcat。Catalina脚本的主要任务是根据环境变量和不同的命令行参数,拼凑出完整的java命令行,调用Tomcat的主类org.apache.catalina.startup.Bootstrap来启动Tomcat。我们先不解析该脚本,而是...原创 2009-11-06 14:21:52 · 159 阅读 · 0 评论 -
Tomcat5启动流程与配置详解
How to config and run The Apache Jakarta Tomcat 5? You may find something useful from this documentation.author: ZJ 2007-3-4Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]1.Tomcat...原创 2009-11-06 17:26:39 · 185 阅读 · 0 评论 -
《How Tomcat Works》读书笔记(五):生命周期
第一次接触到“生命周期”这个词汇,是在软件工程的课程上,“软件的生命周期”,当时也是觉得有点玄,但还算可以理解:软件从需求分析到最后没人用,就像人的一生(人的“需求分析”是什么呢?这是个哲学问题...)扯远了,回到tomcat。tomcat的“生命周期”非常简单,说白了是一个接口:org.apache.catalina.Lifecycle,内容如下:public interface...原创 2009-11-06 16:26:23 · 106 阅读 · 0 评论 -
《How Tomcat Works》读书笔记(四):容器初探
第四章:容器初探接触JAVAEE以来,最初对“容器”一词满头雾水、无比崇拜,后来听到耳朵长茧,一直觉得这个词的定义有点太广了,很多情况下不管沾没沾点关系的都往上靠,力图通过此术语使自己显得“专业”一些(老实说我写文档也这么做过)。但不论如何,发明这个计算机术语的人还是相当牛的,充分体现了JAVAEE“分层”的思想。唯一不爽的是,一直以来都处于“容器”的黑盒之外,更加上...原创 2009-11-06 16:25:46 · 145 阅读 · 0 评论 -
《How Tomcat Works》读书笔记(三):Tomcat default connector
Chapter 4: Tomcat default connector何为default Connector?其实这里指的是tomcat最初设计时使用的Connector,尽管问题多多,现在已经被coyote所取代,但作为教学用例,default Connector仍然不失为一个优秀的组件,值得一学!这一章的目的是系统的讲述tomcat的Connector,同时为介绍后面的容器作...原创 2009-11-06 16:24:58 · 116 阅读 · 0 评论 -
《How Tomcat Works》读书笔记(一)
看了这本书的头三章,写得非常好,可谓深入浅出将tomcat分析的很透彻。虽然书中所讲述的tomcat是“简化版”,但内容也不算少,越到后面代码越多,也越复杂。为了加深印象,遂决定写读书笔记,“好记性不如烂笔头”,说不定还能方便他人。闲话少说,直入主题:Chapter One:A Simple Web Server第一章是一个非常简单的web server,主要目的在于让读...原创 2009-11-06 16:23:31 · 83 阅读 · 0 评论 -
《How Tomcat Works》读书笔记(二):Connector
Chapter Three:Connectortomcat的Connector名字叫做Coyote,我之前也写了几篇关于coyote的博客,不过在看了第三章后,才对tomcat的Connector有了更加深入的认识。需要说明的是,这一章的Connector只是一个简化版,而第四章介绍的也只是“默认”(旧版本)的Tomcat的Connector,正因为“默认”的Connector...原创 2009-11-06 16:19:14 · 141 阅读 · 0 评论 -
编写批处理文件
嘿嘿,批处理的介绍。不光可以提高自己动手能力还能学到很多知识,转帖一份,欢迎大家把优秀的批处理跟帖! 批处理的介绍 扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的...原创 2009-11-06 16:15:07 · 120 阅读 · 0 评论 -
分析 Tomcat catalina.bat 脚本
Catalina.bat是tomcat所有脚本中最重要的脚本,完成几乎所有的tomcat操作。如启动,关闭等等,都是由catalina.bat脚本来完成的。接下来,我将对Tomcat catalina.bat脚本进行分析。 首先省去catalina.bat开头诸多注解,这些注解主要是讲解各个变量是干什么的。需要的话,自己看下英文就可以了。这里就不翻译了。rem Guess CA...原创 2009-11-06 15:03:09 · 94 阅读 · 0 评论 -
JMX在Tomcat中的应用(四)
四、Tomcat中最简单的MBean 下面我们打开Tomcat源代码,看看Tomcat中最简单的一个MBean。在Tomcat的启动引导类Bootstrap.java的172到187行,我们可以看到如下代码: ClassLoader classLoader = ClassLoaderFactory.createCl...原创 2009-11-06 14:52:39 · 122 阅读 · 0 评论 -
JMX在Tomcat中的应用(三)
三、Tomcat中的JMX 通过上面JMX的简单介绍和举例,我们对JMX有了一个整体概念。现在我们就来查看一下JMX在Tomcat中的应用。首先,我们使用JConsole查看一下Tomcat中有哪些MBeans。 3.1 首先,请在Eclipse中启动Tomcat,在虚拟机参数中,设置下面几...原创 2009-11-06 14:37:06 · 159 阅读 · 0 评论 -
JMX在Tomcat中的应用(二)
下面,我们举一个简单的例子,理解一下JMX中中的各个概念。我们家有一个中央热水系统(Central Heater System),它是我们家的一个资源,现在我们想通过JMI进行管理。现有的代码如下所示,当然,为简单起见,我们略去了一些JNI调用代码,因为厂家提供的API是用C语言写的。 a) 热水器接口(CentralHeater...原创 2009-11-06 14:35:09 · 139 阅读 · 0 评论 -
JMX在Tomcat中的应用(一)
一、JMX简单介绍 Tomcat从5.0版本开始引入JMX,力图使JMX成为Tomcat未来版本的管理工具和平台。首先,让我们来对JMX做一个简单了解。JMX是Java Management Extension的缩写,可译为Java管理工具扩展,扩展的意思就是JMX不包含在标准的J2SE中,我们必须...原创 2009-11-06 14:33:55 · 100 阅读 · 0 评论 -
Tomat6的整体架构
在上篇文章中,我们已经成功将Tomcat6.0的源代码导入到Eclipse IDE中。现在我们就开始学习Tomcat源码。Tomcat源代码共有1000多个java类,代码行数大约28万到30万行左右。从项目规模上说,可算得上是一个中型项目。要学习理解Tomcat源代码,我们有多种办法可行。最原始的一种办法就是,打开Debug...原创 2009-11-06 14:28:12 · 102 阅读 · 0 评论 -
Tomat6架构探讨
下面,我们重点针对Catalina子模块,熟悉Tomcat的几个关键组件。 (1) 服务器(Server) 在Tomcat中,服务器代表整个J2EE容器,所有的服务及服务上下文均包含在服务器内。我们打开Tomcat源代码,可以看到org.apache.catalina.Server这个接口,其中比较重要的方法有...原创 2009-11-06 14:27:03 · 107 阅读 · 0 评论 -
Tomcat启动遇到的常见问题
如果一切顺利,我们就可以看到非常熟悉的Tomcat窗口。但是,由于各种原因,我们可能会碰到一些问题,下面就具体分析一下Tomcat不能正常启动的原因。 3.1 环境变量设置问题 如果机器上没有安装JDK或者环境变量JAVA_HOME或CATALINA_HOME没有设置正确,Tomcat就不能正常...原创 2009-11-06 14:24:42 · 358 阅读 · 0 评论 -
Tomcat6.0源码学习--架构概述
Tomcat6是最新版本的web容器,其支持最新版本的servlet2.5和jsp2.1。而且Tomcat6架构也是经过重新设计优化过的,所以我们有必要分析一下它的架构过程。显然,这是一个通过阅读Tomcat的源代码及相关文档,演绎架构的过程。或许有人会说,这不是放马后炮吗?!!但我觉得这是自我进步的一个必经步骤,先模仿之,然后才...2010-02-26 15:26:50 · 161 阅读 · 0 评论