tomcat的组件:
tomcat运行在JVM中,运行在JVM中之后,它会启动一个JVM实例,这个JVM实例称之为叫做tomcat server; 一个server就是运行在JVM中的一个实例,这个实例内部跑的是tomcat; connector:就是连接器; 一个server的内部可以存在多个容器(这个容器就是Engine); http connector:连接http协议的连接请求; 一个service上只能有一个容器,但是一个service可以有多个connector,service就是把连接器(connector)和容器(Engine)建立对应的关系; 一个connector只能属于一个service; engine组件是真正运行代码的,用于解析servlet代码,返回java代码运行结果的容器; engine把它想象为httpd,它可以运行很多hosts,每一个hosts相当于一个虚拟主机,就是很多的虚拟主机; 一个tomcat可以提供多个虚拟主机;
下面是tomcat配置文件的结构图:
tomcat的配置文件:
<Server> <Service> #通常只有一个service <connector/> <connector/> <Engine> #Engine相当于一个httpd的web程序 <Host/> <Host> <Context/> #可以有多个Context … …. </Host> </Engine> </Service> </Server>
tomcat的每个组件均由java类实现;它的核心引擎则是:catalina
tomcat配置文件可以分为如下几类: 顶级组件:Server 服务类组件:Service组件,本质上也可以理解为顶级组件 连接器:http,https,ajp(apache jserv protocol) 容器类:Engine,Host,Context 被嵌套的组件:valve(阀门类组件,它是一个控制工具,实现访问控制,实现记录访问日志等等),logger(日志工具),realm(领域,用户认证的),loader(加载器,指明如何加载类的,只能在context中使用的),manager(管理器) 集群类组件:listener(侦听java内部的某些服务的)