设为首页 收藏本站
查看: 454|回复: 0

[经验分享] How Tomcat Work——容器

[复制链接]

尚未签到

发表于 2017-1-24 11:17:05 | 显示全部楼层 |阅读模式
容器是一个处理用户servlet请求并返回对象给web用户的模块。
org.apache.catalina.Container接口定义了容器的形式,有四种容器:Engine
(引擎), Host(主机), Context(上下文), 和 Wrapper(包装器)。这一
章将会介绍context和wrapper,而Engine和 Host会留到第十三章介绍。这一
章首先介绍容器接口,然后介绍容器的工作流程。然后介绍的内容是 Wrapper
和Context接口。然后用两个例子来总结wrapper和context容器。
容器接口
一个容器必须实现org.apache.catalina.Container接口。就如在第四章中看到
的,传递一个Container实例给Connector对象的setContainer方法,然后
Connector对象就可以使用container 的invoke方法,重新看第四章中
Bootstrap类的代码如下:
   HttpConnector connector = new HttpConnector();
   SimpleContainer container = new SimpleContainer();
   connector.setContainer(container);

一个Catalina功能部署不一定需要所有的四种类型的容器。例如本章的第一个
应用程序仅仅包括一个wrapper,而第二个应用程序是一个包含Context和
wrapper的容器模块。
一个容器可以有一个或多个低层次上的子容器。例如,一个Context有一个或多
个wrapper,而wrapper作为容器层次中的最底层,不能包含子容器。讲一个容
器添加到另一容器中可以使用在Container接口中定义的addChild()方法,如
下定义:
   public void addChild(Container child);
删除一个容器可以使用Container接口中定义的removeChild()方法,删除方法
如下表示:
public void removeChild(Container child);
另外容器接口支持子接口查找和获得所有子接口集合的方法findChild和
findChildren方法。如下表示:
public Container findChild(String name);
public Container[] findChildren();
一个容器还包含一系列的部分如Lodder、 Loggee、 Manager、 Realm和Resources。
这些组成部分将会在后边章节中进行讨论。需要注意的一点是 Container接口对
于这些组件都定义了set和get方法包括: getLoader and setLoader, getLogger
and setLogger, getManager and setManager, getRealm and setRealm, and
getResources and setResources.
更有意思的是Container接口被设计成Tomcat管理员可以通过server.xml文件
配置来决定其工作方式的模式。它通过一个pipeline(流水线)和一系列的阀
门来实现,这些内容将会在下一节Pipelining Task中讨论。
更有意思的是Container接口被设计成Tomcat管理员可以通过server.xml文件
配置来决定其工作方式的模式。它通过一个pipeline(流水线)和一系列的阀
门来实现。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332919-1-1.html 上篇帖子: 转载:tomcat server。xml解析 下篇帖子: Tomcat中的编码问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表