11StandardContext.pptVIP

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

贝毅君 浙江大学软件学院 主要内容 方法调用序列 StandardContext Context的启动 StandardContextMapper映射器 重载的支持 示例应用程序 方法调用序列 Context实例代表一个具体的Web应用程序 包含一个或多个Wrapper实例 每个Wrapper表示一个具体的servlet定义 Context容器需要其他组件的支持,例如典型的载入器和管理器 StandardContext类通过ContextConfig类来配置StandardContext实例的生命周期监听器 Context实例通过StandardContextMapper来配置Wrapper容器 StandardContext Context的启动 start() 方法会初始化 StandardContext对象,详细启动代码参照书本p179 触发BEFORE_STATR事件 将available属性设置为false 将configured属性设置为false 配置资源 设置载入器 设置Session管理器 初始化字符集映射器 Context的启动 启动与该Context容器相关联的组件 启动子容器 启动管道对象 启动Session管理器 触发Start事件,监听器执行一系列配置操作,若配置设置成功,ContextConfig实例会将StandardContext的configured变量设置为true 检查configured属性的值,若为true,则调用postWelcomePages()方法,载入需要启动时候载入的子容器(Wrapper),最后将avaiable属性设置为true。若configured变量为false,则调用stop()方法 触发AFTER_START事件 StandardContext的invoke()由基础阀调用 Context的启动 – invoke() public void invoke(Request request, Response response) throws IOException, ServletException { //如果正在执行重载操作则等待 while (getPaused()) { try { Thread.sleep(1000); } catch (InterruptedException e) { ; } } Context的启动 – invoke() // 正常请求处理过程 if (swallowOutput) { try { SystemLogHandler.startCapture(); super.invoke(request, response); } finally { String log = SystemLogHandler.stopCapture(); if (log != null log.length() 0) { log(log); } } } else { super.invoke(request, response); } } Super.invoke()调用了pipline的invoke()方法 StandardContextMapper映射器 Tomcat4中,StandardContextValve实例使用StandardContext实例的映射器找到一个合适的Wrapper实例。 Mapper必须和Servet容器关联 添加默认映射器的方法是在ContainerBase中完成的。 StandardContext类在启动方法start()中调用方法addDefaultMapper来传入映射器的值。默认映射器的值定义如下 private String mapperClass = “org.apache.catalina.core.StandardContextMapper” ContainBase的addDefaultMapper() StandardContextMapper映射器 protected void addDefaultMapper(Strin

文档评论(0)

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

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

1亿VIP精品文档

相关文档