从整体解读tomcat
2015-08-29 19:25
302 查看
一. tomcat的容器组件
1.Engine,实现类StandardEngine
2.Host,实现类StandardHost
3.Context,实现类StandardContext
4.Wrapper,实现类StandardWrapper
容器类之间的关系如下:
容器的初始化顺序:
二. tomcat的连接器组件
tomcat服务器在启动后,可以对外提供多个服务(默认只提供一个服务,见Server.xml),每个服务可以包含多个连接器.多个连接器可以使得Tomcat能服务于多个协议
1. BIO Http Connector,用io的方式处理http请求
2. NIO Http Connector,用nio的方式处理http请求,支持长连接
3. APR Http Connector,用C实现,通过JNI调用,可以提升对静态资源(如HTML,CSS,JS,图片等)的访问性能
4. AJP Connector基于AJP协议,专门为tomcat与http服务器之间通信定制的协议 ,能提供较高的通信速度和效率
以NIO Http Connector为例,tomcat连接器组件的初始化顺序:
三.tomcatr的Pipeline和Value组件
每种容器都有属于自己的Pipeline,默认实现类为StandardPipeline,
每种容器都可以在自己的管道增加任意的Valve.自己实现的Value类在server.xml文件里面配置一下就可以使用了.
每种容器都有一个默认的Value,命名通常为StandardXXXValue,如Engine默认的Value是StandardEngineValue.它们是每个容器的最后一个 执行的Value, 负责将请求传给它们的子容器,因此请求能一直向下执行
四,tomcat的整体架构图如下:
从上图可以看出,请求从ProtocolHandler开始接入,一直到执行对应的Servlet结束
1.Engine,实现类StandardEngine
2.Host,实现类StandardHost
3.Context,实现类StandardContext
4.Wrapper,实现类StandardWrapper
容器类之间的关系如下:
容器的初始化顺序:
二. tomcat的连接器组件
tomcat服务器在启动后,可以对外提供多个服务(默认只提供一个服务,见Server.xml),每个服务可以包含多个连接器.多个连接器可以使得Tomcat能服务于多个协议
1. BIO Http Connector,用io的方式处理http请求
2. NIO Http Connector,用nio的方式处理http请求,支持长连接
3. APR Http Connector,用C实现,通过JNI调用,可以提升对静态资源(如HTML,CSS,JS,图片等)的访问性能
4. AJP Connector基于AJP协议,专门为tomcat与http服务器之间通信定制的协议 ,能提供较高的通信速度和效率
以NIO Http Connector为例,tomcat连接器组件的初始化顺序:
三.tomcatr的Pipeline和Value组件
每种容器都有属于自己的Pipeline,默认实现类为StandardPipeline,
每种容器都可以在自己的管道增加任意的Valve.自己实现的Value类在server.xml文件里面配置一下就可以使用了.
每种容器都有一个默认的Value,命名通常为StandardXXXValue,如Engine默认的Value是StandardEngineValue.它们是每个容器的最后一个 执行的Value, 负责将请求传给它们的子容器,因此请求能一直向下执行
四,tomcat的整体架构图如下:
从上图可以看出,请求从ProtocolHandler开始接入,一直到执行对应的Servlet结束
相关文章推荐
- 使用cargo实现jenkins自动部署远程tomcat
- Tomcat在RedHat Linux上的安装与配置
- Apache与Tomcat
- Apache与Tomcat 区别联系
- Tomact 常见问题
- Could not load the Tomcat server configuration at \Servers\Tomcat v7.0 Server at localhost-config
- 今天遇到一问题:用eclipse+tomcat开发网页的时候,每次修改jsp页面都需要重启服务器,不重启会报错
- tomcat和resin
- tomcat-usrs.xml 配置示例
- Tomcat Context reload 与 OutOfMemory(PermSpace)
- 关于tomcat出现闪退问题
- tomcat安装
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- 用tomcat+apacheServer+spring搭建一个集群,实现简单的负载均衡
- 怎么把Tomcat以服务的形式挂在服务器上
- Tomcat启动,java.lang.NoSuchMethodError错误
- tomcat下server.xml中context 配置静态资源
- Tomcat的配置文件 -- server.xml(二)
- Tomcat架构详解(二)
- Tomcat架构详解(一)