最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

Tomcat工作原理

来源:博客园

Tomcat要实现两个核心功能:


(相关资料图)

1,处理Socket连接,负责网络字节流与Request/Response对象的转化。

2,加载和管理Servlet,以及具体处理Request请求体(比如HelloServlet的doGet()方法进入和将请求对象转化为HttpServletRequest)。

核心组件示意图(图从网上扒的):

Server:Tomcat实例,只有一个。

Service:可以有多个。 比如一个Tomcat运行多个项目,则每个独立项目对应一个Service。

CONNECTOR:连接器,一个Service可以有多个(支持多种IO模型和协议)。负责处理网络字节流并经由Adapter转化为HttpServletRequest对象(注意这里有个接收请求的线程池)。

Engine:引擎,每个Service只有一个。用来管理多个虚拟站点(Host)。

在Engine内部,可以有多个Host,Host内部有多个Context,Context内部有多个Wrapper,Wrapper则对应一个Servlet。每种容器(子容器)都用到了Pipeline管道思想处理网络请求,

最终转发给业务Servlet。

源码入口:

startup.bat启动catalina.bat

catalina.bat执行Bootstrap类的main方法:

**Tomcat优化方向:

1,CONNECTOR连接器优化:

1.1,如需要几个连接器?是否需要AJP联动。

1.2,线程池参数优化。

1.3,Tomcat运行模式。

2,JVM参数调整。

关键词: 核心组件 工作原理 运行模式