概述
Tomcat服务器由一系列可配置组件构成,其中核心组件是 Catalina Servlet容器,它是 其他所有 Tomcat组件的顶层容器。 Tomcat各组件之间存在的层次关系如图 1-2所示。
【专家提示】Tomcat的组件可以在<TOMCAT_HOME>confserver.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。
在XML文件的代码中,这些组件之间关系如下所示:
上述各组件将Tomcat分成若干层(Server层、Service层、Engine层、Host层、Context层),各层通过数据管道PipeLine交互,如图1-3所示。
上述各层对应组件及其在Tomcat服务器中的作用如下:
(1)Server层
对应Server组件,逻辑上表示整个Tomcat,即整个Catalina Servlet容器。它处于Tomcat顶层,可以包含一个或多个Service层。Tomcat提供了该层接口的一个默认实现,所以通常不需要用户自己去实现。
(2)Service层
对应Service组件,是包含在Server层中的一个逻辑功能层。它包含一个Engine层,以及一个或多个连接器(Connector)。Service组件将一个或多个Connector组件绑定到Engine层上,Connector组件侦听端口,获得用户请求,并将请求交给Engine层处理,同时把处理结果发给用户,从而实现一个特定的实际功能。Tomcat提供了Service接口的默认实现,所以通常也不需要用户定制。
(3)Engine层
对应Engine组件,该层是请求分发处理层,可以连接多个Connector。它从Connector接收请求后,解析出可以完成用户请求的URL,根据该URL可以把请求匹配到正确的Host上,当Host处理完用户请求后,Engine层把结果返回给适合的连接器,再由连接器传输给用户。该层的接口一般不需要用户来定制,特殊情况下,用户可以通过实现该接口来提供自定义的引擎。
(4)Host层
对应Host组件,该层表示一个虚拟主机,一个Engine层可以包含多个Host层,每个Host层可以包含一个或多个Context层,对应不同的Web应用。因为Tomcat给出的Host接口的实现(类StandardHost)提供了重要的附加功能,所以用户通常不需要定制Host。
(5)Context层
对应Context组件,该层代表某个虚拟主机上的实际目录或一个WAR,即单个Web应用程序,它运行在特定的虚拟主机中,使用最为频繁。一个Host层包含多个Context层,每一个Context都有唯一的路径,Host层接到请求后,根据用户请求的URL,将请求定位到Context层。
最后
以上就是怕孤独冬日为你收集整理的【Tomcat】层次结构的全部内容,希望文章能够帮你解决【Tomcat】层次结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复