tomcat 服务器 和 servlet 容器

Tomcat服务器是由一系列可配置的组件构成的,其中核心组件是Catalina Servlet容器,它是全部其余Tomcat组件的顶层容器。Tomcat各组件之间的层次关系如图1-20所示。
-Server
---Service
------Connector
------Engine
---------Context


图1-20  Tomcat组件之间的层次结构

咱们下面简单介绍一下各组件在Tomcat服务器中的做用。

(1)Server
Server表示整个的Catalina Servlet容器。Tomcat提供了Server接口的一个默认实现,这一般不须要用户本身去实现。在Server容器中,能够包含一个或多个Service组件。

(2)Service
Service是存活在Server内部的中间组件,它将一个或多个链接器(Connector)组件绑定到一个单独的引擎(Engine)上。在Server中,能够包含一个或多个Service组件。Service也不多由用户定制,Tomcat提供了Service接口的默认实现,而这种实现既简单又能知足应用。

(3)Connector
链接器(Connector)处理与客户端的通讯,它负责接收客户请求,以及向客户返回响应结果。在Tomcat中,有多个链接器可使用。

(4)Engine
在Tomcat中,每一个Service只能包含一个Servlet引擎(Engine)。引擎表示一个特定的Service的请求处理流水线。做为一个Service能够有多个链接器,引擎从链接器接收和处理全部的请求,将响应返回给适合的链接器,经过链接器传输给用户。用户容许经过实现Engine接口提供自定义的引擎,但一般不须要这么作。

(5)Host
Host表示一个虚拟主机,一个引擎能够包含多个Host。用户一般不须要建立自定义的Host,由于Tomcat给出的Host接口的实现(类StandardHost)提供了重要的附加功能。

(6)Context
一个Context表示了一个Web应用程序,运行在特定的虚拟主机中。什么是Web应用程序呢?在Sun公司发布的Java Servlet规范中,对Web应用程序作出了以下的定义:“一个Web应用程序是由一组Servlet、HTML页面、类,以及其余的资源组成的运行在Web服务器上的完整的应用程序。它能够在多个供应商提供的实现了Servlet规范的Web容器中运行”。一个Host能够包含多个Context(表明Web应用程序),每个Context都有一个惟一的路径。用户一般不须要建立自定义的Context,由于Tomcat给出的Context接口的实现(类StandardContext)提供了重要的附加功能。tomcat


Tomcat 服务器是一个免费的开放源代码的Web 应用服务器
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是不少的场合下被广泛使用,是开发和调试JSP 程序的首选。对于一个初学者来讲,能够这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,因此当你运行tomcat 时,它实际上做为一个与Apache 独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器同样,具备处理HTML页面的功能,另外它仍是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
服务器