Tomcat顶层结构

Posted 光头用沙宣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat顶层结构相关的知识,希望对你有一定的参考价值。

先上图:

 

Server:

一个tomcat容器有且只有一个Server,它代表整个容器,包含一个或者多个Servive以及JNDI资源。

这里插一句JNDI是什么?JNDI --- Java Naming and Directory Interface(java命名和目录接口),类似于注册中心的东西,

比如我们在使用JDBC连接数据库时,需要指定JDBC的url,但是这个url中的用户名和密码均有可能变化,作为程序员

我们当然希望不关注数据库后台是什么,因此我们需要在JavaEE程序中注册JNDI参数,然后定义数据源,使用时直接获取数据源即可。

Service:

包含一个或者多个Connector,这些Connector和一个Engine相连。

Connector:

可以指定不同的协议(支持Http1.1、AJP),用于接受来自客户端的请求,生成HttpRequest、HttpResponse对象,并将请求交由Engine处理

Engine:

包含一个或者多个Host,默认localhost;用于接收所有Connector的请求,并根据不同的域名分发给Host处理。

Host:

虚拟主机,包含一个或者多个context,用于接收Engine分发的请求,并根据web-context路径分发给context处理。

Context:

这就是我们熟知的部分,web应用程序;里面包含多个Servlet,用于最终处理来自客户端的请求,并填充响应。

以上是关于Tomcat顶层结构的主要内容,如果未能解决你的问题,请参考以下文章

第一篇 网站基础知识 第7章 Tomcat分析

Tomcat架构

Tomcat架构

tomcat详解

Tomcat结构启动过程关键组件简单分析

Tomcat内部结构及请求原理(转)