Tomcat的组件在<CATALINA_HOME>/conf/server.xml中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素,以下以xml代码方式表示各组件之间的关系:
<Server>
<Service>
<Connector/>
<Engine>
<Host>
<Context/>
</Host>
</Engine>
</Service>
</Server>
上面的xml元素分别代表着Tomcat的一种组件,以上元素可分为四类。
1、顶层类元素
顶层类元素包括<Server/>元素和<Service>元素,位于整个配置文件的最顶层。
2、连接器类元素
连接器类元素包含<Connector/>元素,代表了介于客户与服务器之间的通信接口。负责将客户的请求发送给服务器,并将服务器的响应结果传递给客户。
3、容器类元素
容器类元素包含<Engine/>元素、<Host/>元素和<Context/>元素,容器类元素代表处理客户请求并生成相应响应结果的组件。<Engine/>组件为特定的<Service/>组件处理所有的客户请求,<Host/>组件为特定的虚拟主机处理所有的客户请求,<Context/>组件为特定的WEB应用处理所有的客户请求。
4、嵌套类元素
嵌套类元素包含<Value/>元素、<Logger/>元素和<Realm/>元素。嵌套类元素代表了可以加入到容器的组件。
下面简要介绍一下各元素,具体配置在server.xml
1、<Server/>元素
<Server/>元素代表整个Catalina容器,它是Tomcat实例的顶层元素,<Server/>元素可以包含一个或多个<Service/>元素。
2、<Service/>元素
<Service/>元素包含一个<Engine/>元素和一个或多个<Connector/>元素,所有的<Connector/>元素共享一个<Engine/>元素。
3、<Connector/>元素
<Connector/>元素代表和客户请求实际交互的组件,它负责接收客户请求并向客户返回响应结果。
4、<Engine/>元素
每个<Service/>元素只能包含一个<Engine/>元素,<Engine/>元素可以包含一个或多个<Host/>元素。<Engine/>元素处理同一个<Service/>元素下所有的<Connector/>元素接收到的客户请求
5、<Host/>元素
<Host/>元素代表一个虚拟主机,一个<Host/>元素下可以包含一个或多个<Context/>元素对应的单个WEB应用。
6、<Context/>元素
<Context/>元素代表运行在<Host/>虚拟主机下的单个WEB应用,是使用最为频繁的元素。一个<Host/>元素下可以包含一个或多个<Context/>元素。
Tomcat各组件的嵌套关系,如下图:
这张结构图也是描述tomcat框架结构的,他从另一个维度来描述,通过网络端口来源,逐级分解结构,从图上我们可以看出,一个Server可以有多个 Service,但一个Service下面只能有一个Engine,一个Engine下面可以有多个Host,一个Host下面可以有多个 Context,数据流向也可以从图中获知,请求从Connector中开始,一直通过容器传递到Context中,再有Context传递给 Servlet,还有一个就是Server会启动一个ServerSocket来监听8005端口,负责监听是否要关闭Server
相关推荐
Tomcat 结构概述 Tomcat 服务器的整体架构是由一系列可配置的组件构成的,其核心组件是 Catalina Servlet 容器,它是所有其他 Tomcat 组件的顶层容器。Tomcat 的组件可以在(conf/server.xml 文件中进行配置,每个 ...
【Tomcat 结构分析】 Tomcat 作为一款广泛使用的开源Web应用服务器,其设计和架构是轻量级的,尤其适合中小型系统和并发用户数量不多的环境。它常常与Apache HTTP服务器结合使用,以提供更全面的功能。对于初学者而...
详细的介绍了tomcat的组成结构、生命周期管理以及管道机制。
- **Server**:这是Tomcat结构中的最外层容器,代表一个独立的Tomcat实例。它可以包含一个或多个Service组件。 - **GlobalNamingResources**:提供了一种方式来管理服务器范围内的命名资源(如数据源等)。 ##### 2...
1. **Tomcat结构**: - **bin**:包含启动和停止Tomcat的脚本,如`catalina.sh/bat`、`startup.sh/bat`、`shutdown.sh/bat`等。 - **conf**:存放Tomcat配置文件,如`server.xml`(服务器配置)、`web.xml`(全局...
压缩包内的文件列表提供了对Tomcat结构的初步理解: 1. **LICENSE**: 这个文件包含Apache Tomcat的许可协议,详细说明了如何合法地使用、分发和修改此软件。 2. **CONTRIBUTING.md**: 该文件通常包含贡献代码或参与...
2. **Tomcat结构**: - Tomcat的目录结构包括`bin`(包含启动和停止脚本)、`conf`(配置文件)、`lib`(存放Tomcat运行所需的JAR文件)、`webapps`(存放Web应用)、`logs`(日志文件)、`temp`(临时文件)和`...
3. **Tomcat结构**:Tomcat服务器主要包含以下几个目录: - `bin`:存放启动和停止Tomcat的脚本。 - `conf`:配置文件,如server.xml、web.xml等。 - `lib`:存放Tomcat运行所需的JAR文件。 - `logs`:日志文件...
1. **Tomcat结构**: Tomcat的目录结构包括`bin`、`conf`、`lib`、`logs`、`temp`、`webapps`和`work`等关键部分。`bin`目录包含可执行文件和脚本,用于启动、停止和管理Tomcat;`conf`存放配置文件,如`server.xml...
1. **Tomcat结构**:Tomcat主要由几个关键组件构成,包括Catalina(Servlet容器)、 Coyote(HTTP/1.1协议实现)、Jasper(JSP引擎)和Commons Daemon(用于Windows和Unix的服务管理)等。 2. **部署Web应用**:在...
1. **Tomcat结构**:Apache Tomcat的目录结构通常包括`bin`、`conf`、`lib`、`logs`、`temp`、`webapps`和`work`等关键部分。`bin`包含可执行文件,如`catalina.sh`或`catalina.bat`,用于启动和停止Tomcat。`conf`...
1. **Tomcat结构**:Tomcat主要由以下几个部分组成:Catalina(核心Servlet容器)、Jasper(JSP编译器)、 Coyote(HTTP/HTTPS连接器)和Juli(日志模块)。这些组件协同工作,为Java Web应用提供服务。 2. **部署...
1. **Tomcat结构**:Tomcat的目录结构包括bin、conf、lib、logs、webapps和work等目录,每个目录都有其特定的功能。例如,bin目录存放可执行文件,conf存储服务器配置文件,webapps用于部署Web应用,而work目录则...
Tomcat的体系结构,基本配置,server.xml
### Tomcat目录结构及其说明 #### 一、概述 Apache Tomcat是一款开源的Servlet容器,主要用来运行Java Web应用程序。其目录结构清晰有序,每个目录都有特定的功能与用途,为开发者提供了良好的部署环境。了解...
1. **Tomcat结构**:Tomcat6包含几个关键目录,如`bin`用于存放可执行文件,`conf`存储配置文件,`webapps`是部署应用程序的地方,`logs`记录日志信息,`temp`临时文件夹,以及`work`存储编译后的JSP页面和Servlet。...
1. **Tomcat结构与组件**: - **Catalina**:核心组件,负责Servlet容器的主要功能,处理HTTP请求和响应。 - ** Coyote**:处理网络连接器和协议处理器,如处理HTTP/1.1请求。 - ** Jasper**:JSP编译器,将JSP...
1. **Tomcat结构**:Tomcat主要由Catalina(Servlet容器)、 Coyote(连接器)和Jasper(JSP引擎)等组件组成。Catalina处理Servlet请求,Coyote处理网络通信,Jasper编译并执行JSP页面。 2. **配置**:Tomcat的配置...
1. **Tomcat结构**:Tomcat由几个关键组件构成,包括Catalina(Servlet容器)、Jasper(JSP编译器)、 Coyote(HTTP/1.1连接器)和Commons Daemon(用于Windows和Unix的后台服务)等。 2. **部署应用**:在解压后的...
1. **Tomcat结构**:解压后,你会看到几个关键目录和文件: - `bin`:包含启动和停止Tomcat的脚本,如`catalina.sh`(Unix/Linux)和`startup.bat`(Windows)。 - `conf`:存储配置文件,如`server.xml`(定义...