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顶层结构的主要内容,如果未能解决你的问题,请参考以下文章