第12章:STANDARDCONTEXT - GOOGLE CODE.docxVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章:STANDARDCONTEXT - GOOGLE CODE

第十二章:StandardContext译者:王法波mailto:-wangfabo1986@-wangfabo1986@.时间紧迫质量低下敬请指正综述在前面的章节中已经看到,一个上下文容器(Context)代表一个web应用,每一个上下文包括多个包装器(Wrapper),每个包装器代表一个Servlet。但是,上下文还需要其它的一些组件如加载器和管理器。本章要介绍Catalina中Context接口的标准实现,org.apache.catalina.core.StandardContext类。我们首先介绍StandardContext对象的初始化和配置,然后讨论跟其相关的类StandardContextMapper(Tomcat 4)和ContextConfig类。接下来看,当容器接受到HTTP请求的时候方法调用顺序。然后,在讨论该类几点重要特性,最后一节讨论Tomcat5中的backgroundProcess方法。?注意本章没有相关配套的应用程序,StandardContext类已经在11章中用过了StandardContext配置创建一个StandardContext实例之后,必须调用它的start方法,这样它就能为受到的HTTP请求服务了。一个StandardContext对象可能启动失败,这时候属性available被设置为false,属性available表示了StandardContext对象的可用性。如果start方法启动成功,StandardContext对象需要配置它的属性。在一个Tomcat部署中,StandardContext的配置过程做了以下事情:准备读取和解析%CATALINA_HOME%/conf 目录下面的web.xml,部署所有应用程序,确保StandardContext实例可以处理应用级别的web.xml。另外,配置需要添加一个验证器阀门和证书阀门(authenticator valve and a certificate valve)?注意更多StandardContext配置的细节将在15章中讨论。StandardContext的属性之一是它属性configured,用来表示该StandardContext是否已经配置了。StandardContext使用一个事件监听器来作为它的配置器。当StandardContext实例的start方法被调用的时候,首先触发一个生命周期事件。该事件唤醒一个监听器来配置该StandardContext实例。配置成功后,该监听器将configured属性设置为true。否则,StandardContext对象拒绝启动,这样就不能对HTTP请求进行服务了。在第11章中已经看到一个生命周期监听器被添加到StandardContext实例上,它的类型是ch11.pyrmont.core.SimpleContextConfig,它仅仅将StandardContext实例的configured属性设置为true,这样就认为配置完成了。在一个Tomcat部署中,配置StandardContext的生命周期监听器类型为org.apache.catalina.startup.ContextConfig,具体内容将在第15章中进行介绍。现在你应该已经明白了配置过程对于StandardContext的重要性,接下来看更多StandardContext类的细节,首先是它的构造函数。StandardContext构造函数下面是StandardContext类的构造函数:public StandardContext() { super(); pipeline.setBasic(new StandardContextValve()); namingResources.setContainer(this);}在构造函数中,最重要的事情是在StandardContext的流水线上添加了一个类型为org.apache.catalina.core.StandardContextValve的基本阀门,该阀门用于裁判美国连接器获得HTTP请求。启动StandardContextStart方法初始化StandardContext对象并让生命周期监听器配置该StandardContext实例。如果配置成功,生命周期监听器会将configured属性设置为true。最后start方法,将available属性设置为true或者false。如果是true的话表示该StandardContext属性配置完毕并且所有相关子容器和组件已经成功启动,这样就能对HTTP请求进行服务了,如果是false则表示出现了错误。StandardContext类将configured的值初始化为false,如果生命周期监听器

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档