- 浏览: 79777 次
- 性别:
- 来自: 上海
最新评论
-
chenshuyi:
感谢分享! 学习DOS批处理很好的资料,感谢楼主,感谢博 ...
编写批处理文件 -
康跷_0613:
请问利用逆向工程怎么分析出类图,哪里有相关详细的介绍呢?
Tomat6的整体架构 -
康跷_0613:
图片看不到了..
Tomcat6.0源码学习--架构概述 -
cshuser:
中介者模式 用一个中介对象来封装一系列的对象交互。中介者使 ...
JMX在Tomcat中的应用(四) -
lh870003574:
1.1的示例中,针对你提出的对修改关闭的问题,没有找到你所说的 ...
JMX在Tomcat中的应用(二)
文章列表
How to config and run The Apache Jakarta Tomcat 5? You may find something useful from this documentation.
author: ZJ 2007-3-4
Blog:
[url]http://zhangjunhd.blog.51cto.com/[/url]
1.Tomcat5.0 目录结构
Tomcat下有9个目录,分别是bin,common,conf,logs,server,shared,temp,webapps,work 目录,现在对每一目录做介绍。Tom ...
- 2009-11-06 17:26
- 浏览 1254
- 评论(0)
第一次接触到“生命周期”这个词汇,是在软件工程的课程上,“软件的生命周期”,当时也是觉得有点玄,但还算可以理解:软件从需求分析到最后没人用,就像人的一生(人的“需求分析”是什么呢?这是个哲学问题...)
扯远了,回到tomcat。tomcat的“生命周期”非常简单,说白了是一个接口:org.apache.catalina.Lifecycle,内容如下:
public interface Lifecycle {
public static final String START_EVENT = "start";
public static fina ...
- 2009-11-06 16:26
- 浏览 978
- 评论(0)
第四章:容器初探
接触JAVA
EE以来,最初对“容器”一词满头雾水、无比崇拜,后来听到耳朵长茧,一直觉得这个词的定义有点太广了,很多情况下不管沾没沾点关系的都往上靠,力图通过
此术语使自己显得“专业”一些(老实说我写文档也这么做过)。但不论如何,发明这个计算机术语的人还是相当牛的,充分体现了JAVA
EE“分层”的思想。
唯一不爽的是,一直以来都处于“容器”的黑盒之外,更加上那些大厂商对自己的JAVA
EE“容器”产品的神乎其神的吹嘘宣传,一直没法想象外国那些鬼佬怎么就这么牛能做出这么厉害的东西,我们只有乖乖使用的份?还好有开源,还好有这本
《How Tomcat Wo ...
- 2009-11-06 16:25
- 浏览 1370
- 评论(0)
Chapter 4: Tomcat default connector
何为default Connector?其实这里指的是tomcat最初设计时使用的Connector,尽管问题多多,现在已经被coyote所取代,但作为教学用例,default Connector仍然不失为一个优秀的组件,值得一学!
这一章的目的 ...
- 2009-11-06 16:24
- 浏览 1487
- 评论(1)
看了这本书的头三章,写得非常好,可谓深入浅出将tomcat分析的很透彻。虽然书中所讲述的tomcat是“简化版”,但内容也不算少,越到后面代码越多,也越复杂。为了加深印象,遂决定写读书笔记,“好记性不如烂笔头”,说不定还能方便他人。
闲话少说,直入主题:
Chapter One:A Simple Web Server
第一章是一个非常简单的web server,主要目的在于让读者了解Java的web server 编程模式。此外还讲了一下Http协议的一些基础知识,譬如http请求和响应的格式。
基本的web server,就是用java.net.ServerSocke ...
- 2009-11-06 16:23
- 浏览 1379
- 评论(0)
Chapter Three:Connector
tomcat的Connector名字叫做Coyote,我之前也写了几篇关于coyote的博客,不过在看了第三章后,才对tomcat的
Connector有了更加深入的认识。需要说明的是,这一章的Connector只是一个简化版,而第四章介绍的也只是“默认”(旧版本)的
Tomcat的Connector,正因为“默认”的Connector性能不佳,才产生了后来的coyote,这是后话。
StringManager
在讲述连接器前,首先介绍一个tomcat内部使用频率非常高的工具类——StringManager,简称sm( ...
- 2009-11-06 16:19
- 浏览 1304
- 评论(0)
嘿嘿,批处理的介绍。不光可以提高自己动手能力还能学到很多知识,转帖一份,欢迎大家把优秀的批处理跟帖!
批处理的介绍
扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。
首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使 ...
- 2009-11-06 16:15
- 浏览 1222
- 评论(1)
Catalina.bat是tomcat所有脚本中最重要的脚本,完成几乎所有的tomcat操作。如启动,关闭等等,都是由catalina.bat脚本来完成的。接下来,我将对Tomcat catalina.bat脚本进行分析。
首先省去catalina.bat开头诸多注解,这些注解主要是讲解各个变量是干什么的。需要的话,自己看下英文就可以了。这里就不翻译了。
rem Guess CATALINA_HOME if not defined 查看是否在tomcat目录下,与startup.bat里相同,不解释了。需要的话可以看我的另一篇博客。
set CURRENT_DIR=%cd% ...
- 2009-11-06 15:03
- 浏览 2205
- 评论(0)
四、
Tomcat
中最简单的
MBean
下面我们打开
Tomcat
源代码,看看
Tomcat
中最简单的一个
MBean
。在
Tomcat
的启动引导类
Bootstrap.java
的
172
到
187
行,我们可以看到如下代码:
ClassLoader classLoader = ClassLoaderFactory.createClassLoader
(locations, types, parent);
// Retrieving MBean server
MBeanServer mBeanServer = ...
- 2009-11-06 14:52
- 浏览 1338
- 评论(1)
三、
Tomcat
中的
JMX
通过上面
JMX
的简单介绍和举例,我们对
JMX
有了一个整体概念。现在我们就来查看一下
JMX
在
Tomcat
中的应用。首先,我们使用
JConsole
查看一下
Tomcat
中有哪些
MBeans
。
3.1
首先,请在
Eclipse
中启动
Tomcat
,在虚拟机参数中,设置下面几个参数:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.manage ...
- 2009-11-06 14:37
- 浏览 2177
- 评论(0)
下面,我们举一个简单的例子,理解一下
JMX
中中的各个概念。我们家有一个中央热水系统
(Central Heater System)
,它是我们家的一个资源,现在我们想通过
JMI
进行管理。现有的代码如下所示,当然,为简单起见,我们略去了一些
JNI
调用代码,因为厂家提供的
API
是用
C
语言写的。
a)
热水器接口
(
CentralHeaterInf
.java
)
的现有代码:
package
carl.test.jmx;
/**
*
The
interface
of
...
- 2009-11-06 14:35
- 浏览 2162
- 评论(1)
一、
JMX
简单介绍
Tomcat
从
5.0
版本开始引入
JMX
,力图使
JMX
成为
Tomcat
未来版本的管理工具和平台。首先,让我们来对
JMX
做一个简单了解。
JMX
是
Java Management Extension
的缩写,可译为
Java
管理工具扩展,扩展的意思就是
JMX
不包含在标准的
J2SE
中,我们必须要另外下载
JMX RI
的实现。不过,这种把
JMX
排除在
J2SE
之外的情况已经成为历史了,
J2SE5.0
和
J2SE6.0
都已经包含了
- 2009-11-06 14:33
- 浏览 1877
- 评论(0)
在上篇文章中,我们已经成功将Tomcat6.0
的源代码导入到
Eclipse IDE
中。现在我们就开始学习
Tomcat
源码。
Tomcat
源代码共有
1000
多个
java
类,代码行数大约
28
万到
30
万行左右。从项目规模上说,可算得上是一个中型项目。要学习理解
Tomcat
源代码,我们有多种办法可行。最原始的一种办法就是,打开
Debugger
,逐行跟踪,看看
Tomcat
如何启动,如何处理客户端请求,如何编译动态
jsp
页面。第二种办法是利用逆向工程,把
Tomcat
的总体类图先描绘出来,然后再结合
seque ...
- 2009-11-06 14:28
- 浏览 1573
- 评论(1)
下面,我们重点针对
Catalina
子模块,熟悉Tomcat的几个关键组件。
(1)
服务器
(Server)
在
Tomcat
中,服务器代表整个
J2EE
容器,所有的服务及服务上下文均包含在服务器内。我们打开
Tomcat
源代码,可以看到
or ...
- 2009-11-06 14:27
- 浏览 1682
- 评论(0)
如果一切顺利,我们就可以看到非常熟悉的
Tomcat
窗口
。但是,由于各种原因,我们可能会碰到一些问题,
下面
就具体分析一下
Tomcat
不能正常启动的原因
。
3.1
环境变量设置问题
如果机器上没有安装
JDK
或者环境变量
JAVA_HOME
或
CATALINA_HOME
没有设置正确,
Tomcat
就不能正常启动。
3.1.1
下面
这个错误对话框的意思是
Windows
不能发现
“-Djava.endorsed.dirs=”
命令,下面背景的黑窗口的错误是
JAVA_HOME
...
- 2009-11-06 14:24
- 浏览 2553
- 评论(0)