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,用于最终处理来自客户端的请求,并填充响应。

posted @ 2019-12-07 19:28  光头用沙宣  阅读(234)  评论(0编辑  收藏  举报