本文共 844 字,大约阅读时间需要 2 分钟。
如上图所示:
Tomcat服务器源码主要包括以上部分:
Server:
Service
Connector:
Container:
以上分别对应tomcat配置目录中server.xml中各个标签<Server><Service><Connector><Engine>等
作用:接收用户的请求,然后封装请求传递给容器处理
常用方法:
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
setContainer(Container container):将容器添加到Service中
addConnector(Connector connector):将连接添加到Service中