码迷,mamicode.com
首页 > 其他好文 > 详细

Tomcat 组件

时间:2019-12-07 21:15:12      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:属性   图片   nec   tom   address   src   inf   dwr   argument   


首先,从tomcat官网下载9.0.27的源码包,然后再在对应目录里执行 ant 命令,会下载到所需的依赖。将源码导入的 eclipse 里,将 ant 下载的依赖 jar 包添加到 buildPath 里,再将 jre/lib/jce.jar 也添加进去,执行 Bootstrap 的 main 方法启动 tomcat 。

组件

    • Server接口是“服务器组件”,它负责服务器的启动、终止。
    • Service接口是“服务组件”,它负责load连接器,把连接器组件连接容器中。
    • Engine接口是servlet引擎,它负责初始化/启动下属容器,以及初始化/启动连接器组件。
    • Host接口是虚拟主机组件,它负责拦截过滤请求,它的生命周期监听器HostConfig会对war文件等进行部署。
    • Context代表一个具体的Web应用程序,它的生命周期监听器ContextListener会对属性进行配置。
    • Wrapper代表一个具体的Servlet,它负责管理对应Servlet的声明周期。

组件详情 

技术图片

 

Server

代表整个Catalina Servlet容器。Server并不是一个Container,它没有实现Container接口或者继承ContainerBase类,但它有生命周期。Server用来启动、停止Catalina,它的address属性指明了监听命令的地址, port 属性指明了监听命令的端口(默认是代码里的8005)。默认实现类是StandardServer

 技术图片

 

 

Service

可以让多个Connector共享一个Container(亦即Engine)。Service并不是一个Container,它也只实现了Lifecycle接口。一个Server可以有多个Service,Service之间是独立的,只是共享JVM和class path上的Jar。Service的默认实现类是StandardService。

 技术图片

 

 

容器

 

Tomcat的容器共有4个,分别是Engine、Host、Context和Wrapper。上层容器对下层容器都是一对多的关系。

 

Engine

 

 技术图片

 

 Engine代表整个Catalina Servlet引擎。Engine可以1)为一个单独的请求设置处理器;2)支持多个虚拟主机(Host)。Engine的下级容器可以是Host也可以是Context,但一般不用Engine来部署web 应用(Context)。由于Engine是最上层的容器,所以调用其setParent方法会抛出IllegalArgumentException。其默认实现类是StandardEngine.

 

Host

 

技术图片

 

 代表一个虚拟主机。其下层容器通常是Context。其默认实现类是StandardHost。

 

Context

 技术图片

 

 代表Servlet的上下文,亦即一个web应用程序。其默认实现类是StandardContext.

 ContextBind接口用来更改一个web应用程序的ClassLoader。

 

Wrapper

技术图片

 

 

是对一个单独Servlet的包装,负责管理Servlet的生命周期及分配。其默认实现类是StandardWrapper。

 

Tomcat 组件

标签:属性   图片   nec   tom   address   src   inf   dwr   argument   

原文地址:https://www.cnblogs.com/Logan12138/p/12003129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!