tomcat server结构图:
该文件描述了如何启动Tomcat Server
<Server>
<Listener />
<GlobaNamingResources>
</GlobaNamingResources
<Service>
<Connector />
<Engine>
<Logger />
<Realm />
<host>
<Logger />
<Context />
</host>
</Engine>
</Service>
</Server>
(1)Server 元素:
它代表整个容器,是Tomcat实例的顶层元素。由org.apache.catalina.Server接口来定义。它包含一个 Service 元素。并且它不能做为任何元素的子元素。
<!-- 一个“Server”是一个提供完整的JVM的独立组件,它可以包含一个或多个
“Service”实例。服务器在指定的端口上监听shutdown命令。
注意:一个“Server”自身不是一个“Container”(容器),因此在这里你
不可以定义诸如“Valves”或者“Loggers”子组件
-->
<!-- 启动Server
在端口8005处等待关闭命令
如果接受到"SHUTDOWN"字符串则关闭服务器
-->
测试:
telnet localhost 8005
输入:SHUTDOWN
结果:关闭tomcat
<Server port="8005" shutdown="SHUTDOWN" debug="0">
#1、className指定实现org.apache.catalina.Server接口的类.默认值为org.apache.catalina.core.StandardServer。
#2、port指定Tomcat监听shutdown命令端口,终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令。该属性是必须的。
#3、shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串,该属性必须设置。
(2)Service 元素:
该元素由org.apache.catalina.Service接口定义,它包含一个 Engine 元素,以及一个或多个 Connector,这些Connector元素共享用同一个Engine元素。
<!-- 一个“Service”是一个或多个共用一个单独“Container”(容器)的“Connectors”
组合(因此,应用程序在容器中可见)。通常,这个容器是一个“Engine”
(引擎),但这不是必须的。
注意:一个“Service”自身不是一个容器,因此,在这个级别上你不可定义
诸如“Valves”或“Loggers”子组件。
-->
<!-- Tomcat的Standalone Service
Service是一组Connector的集合
它们共用一个Engine来处理所有Connector收到的请求
-->
<Service name="Catalina