How Tomcat Works 0:介绍

本系列文章,都是自己对《How Tomcat Works》这本书的中文版的一个学习心得。

很多文字出自此书。


正文

现在的tomcat版本已经迭代到了tomcat 9.x。在作者写那本书时,主要是剖析的是4.1.12和5.0.18版本,现在看来算是比较旧的版本了,但是这并不影响我们洞悉tomcat的内在逻辑。

tomcat可以简单的看做是一个Servlet容器,免费、开源。代号是Catalina。

它由很多组件构成,接下来的每一章都是分组件来对tomcat进行介绍。

Servlet容器是如何工作的?

Servlet容器是一个很复杂的系统,主要是用来处理servlet的请求、响应。

  1. 创建一个Request对象,一个Request对象是javax.servlet.ServletRequest接口或javax.servelt.http.HttpServletRequest的一个实例。
  2. 创建一个Response对象,一个Response对象是javax.servlet.ServletResponse接口或javax.servlet.http.HttpServletResponse的一个实例。
  3. 调用servlet的service方法,传入request和response对象。在这里会从request取值,给response写值。

Catalina架构图

Catalina是一个非常复杂的,并优雅设计开发出来的软件,它也是模块化的。

可以简单的先理解Catalina由两个模块组成:连接器(connector)和容器(container)

How Tomcat Works 0:介绍_第1张图片

连接器

连接器是用来连接容器里面的请求的。它的工作是为接收到的HTTP请求构造request和reponse对象,然后把流程传给容器。

容器

容器接收到request和response对象之后,调用servlet的service方法用于响应

你可能感兴趣的:(Tomcat)