Tomcat系统架构

这里写图片描述
Server
  控制着Tomcat的整个生命周期,Server作为Service的载体,给Service提供了一个生存环境

Service
  Service值是作为Connector和Container的载体在外面多包了一层,把它们组装在一起,向外面提供服务。一个Service可以设置多个Connector,但只能有一个Container。Service中所有组件的声明周期都通过LifeCycle接口来控制。

Connector
  负责接受浏览器发过来的TCP连接请求,解析Socket并创建一个Request和Response对象分别用于和请求端交换数据。会产生一个线程来处理这个请求并把产生的Request和Reponse对象传给处理这个请求的线程。这个线程的运行是Container组件要做的事情。

Container
  Container是容器的父接口,所有子容器都必须实现这个接口。由4个子容器组件构成:Engine、Host、Context、Wrapper,这个四个组件是父子关系,如上右图所示。值得注意的是,Tomcat的Container设置就是责任链模式,从Engine到Host再到Context最后到Wrapper都通过一个链传递请求。

  • Engine:定义了一些基本的关联关系。标准实现类是StandardEngine,Engine没有父容器,子容器只能是Host类型
  • Host:Engine的子容器,一个Host代表一个虚拟主机,这个虚拟主机用于运行多个应用,它负责安装和展开这些应用,并且标识这个应用以便能够区分它们。子容器是Context
  • Context:代表Servlet的Context,它具备了Servlet运行的基本环境,理论上只要有Context就能运行Servlet了。简单的Tomcat可以没有Engine和Host。
  • Wrapper:代表一个Servlet,负责管理一个Servlet,包括Servlet的装载、初始化、执行以及资源回收。Wrapper是最底层的容器,没有子容器了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值