LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4558|回复: 4

Tomcat Server 原理

[复制链接]
发表于 2004-5-25 20:44:02 | 显示全部楼层 |阅读模式
构成:

1.server代表整个catalina serverlet容器

2.service:由一个或多个connector以及一个共享的engine处理引擎组成

3.connector 在指定端口上监听客户请求,并将请求交给Engine处理(coyote http 和coyoteJK2)

4.Engine 必须配置在Service组件下,Engine可以配置多个虚拟主机。

5.host 代表一个虚拟主机,每个虚拟主机下配置一个或多个web应用,每个web应用对应一个context,有一个context path

6.context 在创建时根据$catalina_home/conf/web.xml 和 $webapp/web-inf/web.xml 载入servlet

载入器:

如何放置class和资源文件
A.对应于某个web应用:class置于web应用下的web-inf/classes 下 jar置于web-inf/lib下

B.对应于多个web应用:class置于$catalina_home/shared/class目录.

TomCat类的加载(ClassLoader):
Bootstrap($JAVA_HOME/jre/lib/ext/*.jar)   
System($CLASSPATH/*.class和指定的jar)     
Common($CATALINA_HOME/common 下的classes,lib,endores三个子目录)     
Catalina ($CATALINA_HOME/server/下的classes和lib目录仅对Tomcat可见)
& Shared($CATALINA_HOME/shared/下的classes和lib目录以及$CATALINA_HOME/lib目录)仅对Web应用程序可见,对Tomcat不可见
WebApp($WEBAPP/Web-INF/*仅对该WEB应用可见classes/*.class lib/*.jar)


对于web应用,加载类和资源的顺序为:

/Web-INF/classes -->/Web-INF/lib/*.jar -->Bootstrap -->System --> $CATALINA_HOME/common/classes
-->$CATALINA_HOME/common/endores/*.jar --> $CATALINA_HOME/common/lib/*.jar --> $CATALINA_HOME/shared/classes
-->$CATALINA_HOME/shared/lib/*.jar
发表于 2009-2-19 11:50:52 | 显示全部楼层
现在,不用猫了,换鱼了。
回复 支持 反对

使用道具 举报

发表于 2009-2-19 14:13:47 | 显示全部楼层
猫还是对开发有很好的帮助!
回复 支持 反对

使用道具 举报

发表于 2009-2-19 14:23:02 | 显示全部楼层
当然,猫也挺好:D
回复 支持 反对

使用道具 举报

发表于 2009-6-1 16:17:25 | 显示全部楼层
说的不错!!楼主貌似精通JAVA!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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