zoukankan      html  css  js  c++  java
  • Tomcat的架构

      Tomcat 7.0---Servlet API 3.0---JSP API 2.2---JDK 1.6

      一个Tomcat实例,或者服务器(server),是Tomcat容器层次结构中的顶级组件。

      只有一个Tomcat实例能存在于单个JVM中。

      这样的方式,使所有运行在与该Tomcat的统一物理机器上的其他Java应用保持安全,防止了Tomcat和它的JVM崩溃。

      Notes:仍然可以在同一个物理机器上运行多个Tomcat实例,但必须是运行在不同网络端口上的独立Java进程。

      一个Tomcat实例由不同分组的应用容器组成(application containers ),这些容器存在于定义良好的层次结构中。而这个层次结构中的关键组件就是the Catalina servlet engine 。

      Catalina 是Java Servlet API中所规范的servlet容器的实现,Tomcat 7.0实现了Servlet API 3.0。

      下面的XML文件展示了不同的Tomcat container键的关系:

    <Server>
        <Service>
            <Connector/>
            <Engine>
                <Host>
                    <Context>
    Web Application!!
    </Context> </Host> </Engine> </Service> </Server>

      上述的每个容器,都通过server.xml来进行配置。

      The Server

      Server容器代表了整个Catalina Servlet引擎,被用作一个Tomcat实例的顶级元素。

      而一个Server容器中,可能包含一个或者多个Service容器。

      The Service

      Service容器中包含了一个或者多个Connector组件,它们共享同一个Engine元素。

      

      The Connector

      Connector元素 or 组件,定义了实际处理 request 和 response的类。

      可以有多个

      The Engine

      每个Service容器中只能有一个Engine组件。

      这个Engine组件处理所有Connector接收的request。

      The Host

      定义包含在每个Catalina Engine实例中virtual host,即虚拟主机。

      一个Host可以是一个或者多个Web Applicaiton的父容器,而每个Web Applicaiton由一个Context组件表示。

      The Context

      Context是一个Tomcat实例中最常用到的实例。

      每个Context都代表了一个运行在某个Host下的独立的Web Applicaiton。

      对于在一个Host容器中Context组件的数量,并没有限制。

  • 相关阅读:
    浅谈对java中锁的理解
    Spring 4 支持的 Java 8 特性
    【转】Java线程面试题 Top 50
    JVM知识点总览-中高级Java工程师面试必备
    [LeetCode] 195. Tenth Line 第十行
    [LeetCode] 281. Zigzag Iterator 之字形迭代器
    [LeetCode] 324. Wiggle Sort II 摆动排序 II
    [LeetCode] 280. Wiggle Sort 摆动排序
    [LeetCode] 167. Fraction to Recurring Decimal 分数转循环小数
    [LeetCode] 187. Repeated DNA Sequences 求重复的DNA序列
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/10159777.html
Copyright © 2011-2022 走看看