初步了解Tomcat服务器(一)

说明

      最近在看《深入分析Java Web技术内幕》这本书,对Tomcat有了初步的认识,对此进行记录和总结

正文

Tomcat的大体架构

这里写图片描述

      通过上图可以看出,Tomcat有两个核心组件Connector组件和Container组件, 这两个组件与其他组件共同形成了一个Service服务,通过Service对外提供服务,Service被Server管理。所以Tomcat的生命周期由Server控制。

这里写图片描述

      Service只是在Connector和Container外面多包一层,把它们组装在一起,向外面提供服务。一个Service可以设置多个Connector,但是只能有一个Container容器。

      Server提供一个接口让其他程序能访问到某个Service集合,同时要维护它所包含的所有Service的生命周期,包括如何初始化,如何结束服务、如何找到需要访问的Service。

Connector组件

      它的主要任务是负责接受浏览器发过来的TCP连接请求,创建一个Request和Response对象分别用于和请求端交换数据。然后会产生一个线程来处理这个请求并把产生的Request和Respouse对象传给处理这个请求的线程。

Container组件

      它是容器的父接口,所有子容器的必须实现这个借口,Container容器的设计是典型的责任链设计模式,由4个子容器组件构成,分别是Engine,Host,Context和Wrapper, 这4个容器是父子关系,包含关系。Engine包含Host,Host包含Context,Context包含Wrapper。

Engine容器

      它的标准实现类是StandardEngine,Engine没有父容器,添加的子容器也只能是Host类型的

Host容器

      Host是Engine的子容器,一个Host在Engine中代表一个虚拟主机,这个虚拟主机的作用就是运行多个应用,它负责安装和展开应用,并标识这些应用以便能区分它们。它的子容器是Context

Context容器

      Context代表Servlet的Context,它具备了Servlet运行的基本环境,它的主要作用是设置各种资源属性和管理组件,还有就是启动子容器和Pipeline。它的子容器是Wrapper

      它最重要的功能就是管理Servlet实例,Servlet实例在Context中是以Wrapper出现的。在Tomcat5以前通过Mapper类来找到正确的Servlet,以后版本这个功能被移到了Request中。

Wrapper容器

      它代表一个Servlet,负责管理一个Servlet,包括Servlet的装载,初始化,执行及资源回收。它是最底层的容器。它的实现类是StandardWrapper,StandardWrapper实现了拥有一个Servlet初始化信息的ServletConfig。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值