Tomcat启动流程
2021-01-22 15:47:00 7 举报
Tomcat启动流程
作者其他创作
大纲/内容
Wrapper
+start();+stop();
Tomcat提供了Bootstrap作为应用服务器启动入口。Bootstrap负责创建Catalina实例。根据执行参数调用Catalina 相关方法完成针对应用服务器的操作(启动,停止)。Bootstrap与Tomcat应用服务器完全松耦合(通过反射调用Catalina实例),可以直接依赖JRE运行并未Tomcat应用服务器创建共享类加载器,用于构造Catalina实例以及整个Tomcat服务器
Mapper
Catalina
ProtocolHandler
Service
Bootstrap
Lifecycle
+start();+stop();+addLifecycleListener()+removeLifecycleListener()
Processor
MapperListener
CoyoteAdapter
Host
Engine
Connector
Executor
Container
+addChild()
组件名称
说明
Server
表示整个Servlet容器,因此Tomcat运行环境中只有唯一一个Server实例
Service表示一个或多个Connector的集合,这些Connector共享一个Container来处理请求。在同一个Tomcat实例内可以包含任意多个Service实例,他们彼此独立
即Tomcat连接器,用于监听并转化Socket请求,同事将读取的Socket请求交由Container处理,支持不同协议以及不同IO方式
Container表示能够执行客户端请求并返回响应的一类对象。在Tomcat中存在不同级别的容器:Engine,Host,Context,Wrapper
Engine表示整个Servlet引擎。在Tomcat中,Engine为最高层的容器对象,尽管Engine不是直接处理请求的容器,却是获取目标容器的入口
Host作为一类容器,表示Servlet引擎(即Engine)中的虚拟机,与一个服务器的网络名称有关,如域名等。客户端可以使用这个网络名连接服务器,这个名称必须要在DNS服务器上注册
Context
Context作为一类容器,用于表示ServletContext,在Servlet规范中,一个ServletContext即表示一个独立的web应用
Wrapper 作为一类容器,用于表示web应用中定义的Servlet
表示Tomcat组件间可以共享的线程池
AbstractEndpoint
0 条评论
下一页