构成:

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

Tomcat Server 原理的更多相关文章

  1. Tomcat服务器原理详解

    [目录]本文主要讲解Tomcat启动和部署webapp时的原理和过程,以及其使用的配置文件的详解.主要有三大部分: 第一部分.Tomcat的简介和启动过程 第二部分.Tomcat部署webapp 第三 ...

  2. Tomcat Server Configuration Automation Reinforcement

    目录 . 引言 . 黑客针对WEB Server会有那些攻击面 . 针对Tomcat Server可以做的安全加固 . Managing Security Realms with JMX . 实现对T ...

  3. Tomcat工作原理(转)

    Tomcat简介 作者:杨晓(http://blog.sina.com.cn/u/1237288325) 一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group ...

  4. 【Tomcat】Tomcat工作原理及简单模拟实现

    Tomcat应该都不陌生,我们经常会把写好的代码打包放在Tomcat里并启动,然后在浏览器里就能愉快的调用我们写的代码来实现相应的功能了,那么Tomcat是如何工作的? 一.Tomcat工作原理 我们 ...

  5. Tomcat工作原理解析!

    Tomcat简介   作者:杨晓(http://blog.sina.com.cn/u/1237288325) 一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Gro ...

  6. Tomcat 架构原理解析到架构设计借鉴

    Tomcat 发展这么多年,已经比较成熟稳定.在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又 ...

  7. 理解Tomcat工作原理

    WEB服务器 只要Web上的Server都叫Web Server,但是大家分工不同,解决的问题也不同,所以根据Web Server提供的功能,每个Web Server的名字也会不一样. 按功能分类,W ...

  8. tomcat server.xml中文版

    原文:http://www.blogjava.net/baoyaer/articles/107278.html Tomcat Server的结构图 该文件描述了如何启动Tomcat Server &l ...

  9. eclipse Run On Server 异常:could not load the Tomcat Server configuration at Servers\tomcat V5.0 Sertomcat

    eclipse Run On Server 异常:could not load the Tomcat Server configuration at Servers\tomcat V5.0 Serto ...

随机推荐

  1. Spring 配置方式

    1.bean的配置方式:通过全类名(反射),通过工厂方法(静态工厂方法&实例工厂方法).FactoryBean. 2.静态工厂方法:直接调用某一个类的静态方法就可以返回bean的实例. cla ...

  2. 【HDU 5381】 The sum of gcd (子区间的xx和,离线)

    [题目] The sum of gcd Problem Description You have an array A,the length of A is nLet f(l,r)=∑ri=l∑rj= ...

  3. 只看Delphi自带的WnAPI帮助似乎不够

    比如,MessageBox在Delphi自带帮助的参数说明中,对其第四个参数的MB_类型说明只有最常见的6种类型,这么多年搞得我天经地义的以为MessageBox就是这么简单.今天看了一位前辈写的老代 ...

  4. InvalidIndexNameException[Invalid index name [2Shard], must be lowercase]

    [2016-10-11 14:16:42,191][DEBUG][action.admin.indices.create] [Feron] [2Shard] f ailed to create [2S ...

  5. [cocos2d]场景切换以及切换进度显示

    本文主要分两个部分叙述,第一是场景切换,第二是场景切换的进度显示. 一.场景切换 参考learn-iphone-and-ipad-cocos2d-game-development 第五章内容 coco ...

  6. 关于MIUI6下使用Widget调用Toast的一个问题

    编写了一个Widget程序,在继承AppWidgetProvider类中调用Toast,发现如下问题: 在小米2,MIUI Version:MIUI5.6.4|Beta, Android Versio ...

  7. 【Jade】

    Jade 模板引擎使用 Jade - 模板引擎 Jade - Template Engine

  8. 非常有用的Java程序片段

    1.向文件末尾添加内容 BufferedWriter out = null; try { out = new BufferedWriter(new FileWriter(”filename”, tru ...

  9. 动态规划(DP计数):HDU 5121 Just A Mistake

    As we all know, Matt is an outstanding contestant in ACM-ICPC. Graph problems are his favorite.Once, ...

  10. CUDA编程-(2)其实写个矩阵相乘并不是那么难

    程序代码及图解析: #include <iostream> #include "book.h" __global__ void add( int a, int b, i ...