Tomcat源码

一、源码结构

  Tomcat6的源码主要包含javax和org.catalina两大部分,在写web相关的代码时,经常会使用到javax,比如servlet包。org.apache是tomcat的具体处理实现代码。

二、基本结构图

Catalina:启动关闭tomcat,脚本为catalina.sh,在多实例部署的情况下,可配置一个安装目录CATALINA_HOME和多个工作目录CATALINA_BASE。

Server:整个tomcat组件的容器,可包含多个Service。

Service:持有一个Container和多个Connector,Connector都会关联Container。

Engine:表示整个Catalina的Servlet引擎,是Container的最顶级。

Host:虚拟主机。

Context:一个Context代表一个Web应用。

Wrapper:表示Servlet。

Pipeline:流水线任务,包含多个Valve。

Valve:上面几种Container都有basic的Valve,可以通过配置文件进行配置。

Loader:自定义类加载器,不仅包含java中的classloader,还用于类文件改变之后的重新加载。

Manager:Session管理,比如重启tomcat中session的持久化存储

Realm:是用来处理安全的授权与认证

 

http://tomcat.apache.org/tomcat-6.0-doc/architecture/requestProcess/requestProcess.pdf

posted @ 2014-09-24 01:27  AresKiller  阅读(137)  评论(0)    收藏  举报