您的位置:首页 > 运维架构 > Tomcat

Tomcat 7源码解析

2016-03-02 16:19 423 查看


如上图所示:

Tomcat服务器源码主要包括以上部分:

Server:

Service

Connector:

Container:

以上分别对应tomcat配置目录中server.xml中各个标签<Server><Service><Connector><Engine>等

一、Connector

作用:接收用户的请求,然后封装请求传递给容器处理

常用方法:

setProtocol(String protocol)方法-根据指定的相关协议来选择对应处理类


协议分类:

HTTP/1.1协议负责建立HTTP连接,web应用通过浏览器访问tomcat服务器用的就是这个连接器,默认监听的是8080端口;

AJP/1.3协议负责和其他HTTP服务器建立连接,监听的是8009端口,比如tomcat和apache或者iis集成时需要用到这个连接器。

三种不同的实现方式:JIO、APR、NIO。

JIO(java.io):用java.io纯JAVA编写的TCP模块,这是tomcat默认连接器实现方法(类名中间省略);

APR(Apache Portable Runtime):使用C和JAVA两种语言实现,连接Apache httpd Web服务器的类库是在C中实现的,同时用APR进行网络通信;

NIO(java.nio):这是用纯Java编写的连接器(Conector)的一种可选方法。该实现用java.nio核心Java网络类以提供非阻塞的TCP包特性。

对应协议的处理类为~



tomcat默认采用的是Http11Protocol

二、Service服务

Service里面包含了一个容器和多个连接器

tomcat默认实现类为StandardService
setContainer(Container container):将容器添加到Service中

addConnector(Connector connector):将连接添加到Service中

三、Mapper

四、初始化与启动

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: