Catalina是一个非常复杂的、设计优雅的、模块化的Servlet容器内核。基于上文中Servlet容器是如何工作的,可以将Catalina看成是有两个主要模块所组成的:连接器(connector)和容器(container)。当然两个大模块中还有更多的小组件,在之后的文章中将会详细介绍。
下面将介绍连接器和容器是如何相互配合工作的。当Tomcat收到一个HTTP请求时将会构造一个request对象和一个response对象。这一工作有连接器来完成。这一工作完成后连接器(connector)将request对象和response对象传递给容器(container)。至此,连接器(connector)的工作完成。
下面的工作将由容器(container)来完成。容器(container)从连接器(connector)收到request和response对象之后,加载servlet并调用servlet的service方法用于响应应。
本文只介绍大致流程,实际工作非常复杂,后续文章中会介绍。