`
holdbelief
  • 浏览: 706342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat的体系结构

阅读更多

Tomcat的体系结构

Tomcat服务器是由一系列可配置的组件构成的,其中核心组件是Catalina Servlet容器,它是所有其他Tomcat组件的顶层容器。Tomcat各组件之间的层次关系如图1-20所示。

 


图片 
图1-20  Tomcat组件之间的层次结构

 


我们下面简单介绍一下各组件在Tomcat服务器中的作用。

(1)Server

Server表示整个的Catalina Servlet容器。Tomcat提供了Server接口的一个默认实现,这通常不需要用户自己去实现。在Server容器中,可以包含一个或多个Service组件。

(2)Service

Service是存活在Server内部的中间组件,它将一个或多个连接器(Connector)组件绑定到一个单独的引擎(Engine)上。在Server中,可以包含一个或多个Service组件。Service也很少由用户定制,Tomcat提供了Service接口的默认实现,而这种实现既简单又能满足应用。

(3)Connector

连接器(Connector)处理与客户端的通信,它负责接收客户请求,以及向客户返回响应结果。在Tomcat中,有多个连接器可以使用。

(4)Engine

在Tomcat中,每个Service只能包含一个Servlet引擎(Engine)。引擎表示一个特定的Service的请求处理流水线。作为一个Service可以有多个连接器,引擎从连接器接收和处理所有的请求,将响应返回给适合的连接器,通过连接器传输给用户。用户允许通过实现Engine接口提供自定义的引擎,但通常不需要这么做。

(5)Host

Host表示一个虚拟主机,一个引擎可以包含多个Host。用户通常不需要创建自定义的Host,因为Tomcat给出的Host接口的实现(类StandardHost)提供了重要的附加功能。

(6)Context

一个Context表示了一个Web应用程序,运行在特定的虚拟主机中。什么是Web应用程序呢?在Sun公司发布的Java Servlet规范中,对Web应用程序做出了如下的定义:“一个Web应用程序是由一组Servlet、HTML页面、类,以及其他的资源组成的运行在Web服务器上的完整的应用程序。它可以在多个供应商提供的实现了Servlet规范的Web容器中运行”。一个Host可以包含多个Context(代表Web应用程序),每一个Context都有一个唯一的路径。用户通常不需要创建自定义的Context,因为Tomcat给出的Context接口的实现(类StandardContext)提供了重要的附加功能。
下面我们通过图1-21来帮助读者更好地理解Tomcat服务器中各组件的工作流程。

要了解这些组件的其他信息,可以看下面的页面:

 %CATALINA_HOME%\webapps\docs\architecture\overview.html
我们可以在conf目录下的server.xml文件中对这些组件进行配置,读者打开server.xml文件,就可以看到元素名和元素之间的嵌套关系,与Tomcat服务器的组件是一一对应的,server.xml文件的根元素就是<Server>。关于server.xml配置文件中的各元素及其属性的含义,请参看附录C。

 

 
(点击查看大图)图1-21  Tomcat各组件的工作流程

 

在Tomcat中,提供了各组件的接口及其实现类,如果你要替换Tomcat中的某个组件,只需要根据该组件的接口或类的说明,重写该组件,并进行配置即可。图1-22是Tomcat各组件的类图。

 
(点击查看大图)图1-22  Tomcat的组件类图

 

在类图的接口名或类名下面是该接口或该类所在的包,这些接口和类都在%CATALINA_HOME%\lib\catalina.jar文件中。对Tomcat服务器的实现感兴趣的读者,可以从http://tomcat.apache.org/download-60.cgi上下载Tomcat的源代码。

由于Apache软件基金会并不是一个商业性的组织,所以文档更新的速度有时候跟不上版本更新的速度。在Tomcat 6.0.16中,就可以发现文档与其源码实现有不一致的地方。从Tomcat 5.5开始,Tomcat的实现中就已经去掉了org.apache.catalina.Connector接口及其相关的实现类,而直接以org.apache.catalina.connector.Connector类来代替。我们在看Tomcat的文档时,最好结合其API文档一起看,这样才能保证了解的信息是完整和准确的。

分享到:
评论

相关推荐

    【Tomcat 体系结构介绍】

    NULL 博文链接:https://gaojingsong.iteye.com/blog/2389970

    图解 Tomcat 体系结构

    Apache Tomcat 是一款非常著名的开源 Servlet/JSP 容器。 Apache Tomcat 是一款非常著名的开源 Servlet/...让我们先来浏览一下 Tomcat 体系结构中的六个主要概念: Server Service Engine Host Connector Context

    Tomcat体系结构与插件配置教程图解

    本教程将深入探讨Tomcat的体系结构以及插件配置,帮助开发者更好地理解和管理Tomcat服务器。 首先,我们来了解一下Tomcat的体系结构: 1. **Server**: 整个Servlet容器的顶级组件,可以包含一个或多个`&lt;Service&gt;`...

    tomcat+jsp内幕详解

    **Tomcat体系结构** Tomcat的体系结构基于Java EE的Servlet规范,主要由以下几个部分组成: 1. **Catalina**:核心组件,负责Servlet容器的主要功能。 2. **Jasper**:JSP编译器,将JSP页面转换为Servlet。 3. **Apr...

    Tomcat5培训PPT

    【Tomcat体系结构】 Tomcat的体系结构基于Java的多层架构设计,主要包括Catalina(核心Servlet容器)、Jasper(JSP引擎)、 Coyote(HTTP/1.1协议处理)和Juli(日志系统)等组件。每个组件都有明确的职责,协同...

    Tomcat与Java_Web开发技术详解4.pdf

    本书重点介绍的是Tomcat 5版本,虽然目前已有更新的版本如Tomcat 8和9等,但了解5版本的基本原理和技术细节仍然对理解整个Tomcat体系结构非常有帮助。 #### 二、Java Web基础知识 1. **Servlet**: - Servlet是一...

    Tomcate服务器培训文档

    【四、Tomcat体系结构】 Tomcat的体系结构主要由以下几个核心组件构成: 1. Connector:负责接收和处理客户端的请求,将请求转发给Catalina。 2. Catalina:核心引擎,处理Servlet和JSP的生命周期,管理各个Host和...

    架构图(图片)

    Tomcat体系结构涉及到服务器的启动流程、请求处理机制、部署配置以及与Web应用程序的交互。 【压缩包子文件的文件名称列表】中的图像文件可能展示了不同的架构设计和概念,例如: - "opentaps架构图1.jpg":可能...

    Java-Web-高级应用PPT课件.ppt

    Tomcat 的体系结构主要包括 Connector、Engine、Host 和 Context 等组件。 本 PPT 课件旨在为高级软件人才提供 Java Web 高级应用培训,涵盖了 Tomcat 中的类装载器、Https 协议的配置、自动登录和单点登录功能、...

    tomcat概述和体系架构

    Tomcat是Apache Jakarta项目的...在开发和运行Web应用时,了解Tomcat的体系结构和工作原理是十分必要的,因为这有助于开发者优化配置和提升应用的性能。随着Web应用的日益复杂,掌握Tomcat的深入知识也越来越受到重视。

    软件体系结构——图书馆管理系统

    ### 软件体系结构——图书馆管理系统 #### 一、软件体系结构概览 图书馆管理系统是一种专门用于管理和优化图书馆日常运营的软件应用。该系统旨在提高图书馆管理的效率和准确性,减少人工错误,并提供便捷的图书...

    apache-tomcat-7.0.59-x64.rar

    在本文中,我们将深入探讨与"apache-tomcat-7.0.59-x64.rar"相关的知识,包括Tomcat的版本、体系结构、安装与配置、管理及性能优化。 首先,"apache-tomcat-7.0.59"是Apache Tomcat服务器的一个特定版本,发布于...

    Java学习体系结构

    Java学习体系结构是一个全面的指南,旨在帮助初学者掌握Java编程技能,并逐步深入到JavaEE应用开发。以下是对各个知识点的详细说明: 1. **JavaSE基础**:这是学习Java的第一步,包括JDK的安装,编写HelloWorld程序...

    各种版本tomcat压缩包

    本压缩包包含了不同版本的Tomcat,从Tomcat 6到Tomcat 8,涵盖了多种体系结构,包括32位和64位,旨在满足不同环境和需求。 1. **Tomcat 6**: 发布于2005年,是基于Servlet 2.5和JSP 2.1规范的。此版本引入了更好的...

    Tomcat8.0底层源码

    Tomcat的容器体系结构是其设计的核心,包括`ContainerBase`、`Host`、`Context`、`Wrapper`等。每个容器都有自己的生命周期,可以包含其他容器,形成了一个树状结构。 七、会话管理 Tomcat支持多种会话管理策略,如...

    J2EE体系结构设计.rar_J2EE_J2EE 设计_体系结构

    本资料主要围绕J2EE的体系结构设计展开,旨在帮助开发者理解和掌握在企业环境中如何有效地利用J2EE进行系统设计。 J2EE体系结构基于分层设计原则,通常包括以下几个关键层次: 1. **表现层(Presentation Layer)*...

    apache-tomcat-8.0.18-windows-x86

    在本文中,我们将深入探讨Apache Tomcat的相关知识点,包括其功能、体系结构、配置、部署以及与Java Web开发的关联。 1. **Apache Tomcat的功能**: - Java Servlet容器:Tomcat主要任务是解析HTTP请求并调用Java ...

Global site tag (gtag.js) - Google Analytics