
一个server 含多个service
一个service含多个connector 每个connector连接端口或协议是不同的
一个service含一个Container
connector作用是接收请求转成request 返回 Response Connector同时需要实现TCP/IP协议和HTTP协议
container 封装和管理Servlet 作用是处理request

其中ProtocolHandler由包含了三个部件:Endpoint、Processor、Adapter。
-
Endpoint用来处理底层Socket的网络连接,Processor用于将Endpoint接收到的Socket封装成Request,Adapter用于将Request交给Container进行具体的处理。
-
Endpoint由于是处理底层的Socket网络连接,因此Endpoint是用来实现TCP/IP协议的,而Processor用来实现HTTP协议的,Adapter将请求适配到Servlet容器进行具体的处理。
-
Endpoint的抽象实现AbstractEndpoint里面定义的Acceptor和AsyncTimeout两个内部类和一个Handler接口。Acceptor用于监听请求,AsyncTimeout用于检查异步Request的超时,Handler用于处理接收到的Socket,在内部调用Processor进行处理。

-
Engine:引擎,用来管理多个站点,一个Service最多只能有一个Engine;
-
Host:代表一个站点,也可以叫虚拟主机,通过配置Host就可以添加站点;
-
Context:代表一个应用程序,对应着平时开发的一套程序,或者一个WEB-INF目录以及下面的web.xml文件;
-
Wrapper:每一Wrapper封装着一个Servlet;
Container处理请求是使用Pipeline-Valve管道来处理的
-
每个Pipeline都有特定的Valve,而且是在管道的最后一个执行,这个Valve叫做BaseValve,BaseValve是不可删除的;
-
在上层容器的管道的BaseValve中会调用下层容器的管道。
我们知道Container包含四个子容器,而这四个子容器对应的BaseValve分别在:StandardEngineValve、StandardHostValve、StandardContextValve、StandardWrapperValve。

被折叠的 条评论
为什么被折叠?



