Tomcat架构与实现分析.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文档。上传文档
查看更多
Tomcat架构与实现分析

Session---expire处理 由Container中启动的线程定期清理 Tomcat默认时间60分 参考资料 《 How Tomcat Works 》 Budi Kurniawan, Paul Deck, 2004 《 Professional Apache Tomcat 6 》 Vivek Chopra, Sing Li,? Jeff Genender ?, 2007 谢 谢! * * ASF(apache software foundation) * * * * catalinaLoader创建了Catalina,通过反射设置了Catalina的父加载器 * * * * * * * * * * * * * * * * * * Tomcat架构与实现分析 pijunbo@ 2011-10-20 提纲 Tomcat介绍 基本架构 启动过程 请求处理 Session简介 简介 由ASF资助Jakarta项目中的一个核心子项目 主要作为Servlet/JSP容器,同时提供web服务器功能 技术先进、性能稳定、并且免费、开源 Tomcat 部署结构 可执行脚本与代码 通用的jar和class文件 系统配置文件 日志文件 服务器相关的jar和classes资源 JSP编译后的class文件 程序默认部署目录 文件暂存目录 应用程序共享的jar和classes资源 架构 架构 --- 一个应用实例 连接器(connector) 主要支持两种类型协议: HTTP/HTTPS AJP( Apache JServ Protocol ) HTTP/HTTPS协议的连接器: 基于JAVA的HTTP/1.1(Coyote)连接器 基于Java的高性能NIO HTTP连接器 本地代码优化的APR HTTP连接器。 Coyote HTTP连接器 特点:成熟、稳定并且功能强大 基本功能 与Socket交互,将请求以Request对象交给容器 获取容器返回Response对象,再通过socket返回 Coyote HTTP连接器 Coyote 连接器---ProtocolHandler 每个实例对应具体的协议(http或Ajp)。 内部有Handler类,接收socket对象,交给实现了ActionHook的Processor类,然后再传递给Adapter Coyote 连接器---Adapter 将connector中的(org.apache.coyote.)request和response对象转换成(org.apache.catalina.connector.)request和response,然后调用容器的处理方法 Coyote 连接器---ActionHook 提供了一种回调机制给实现了该接口的容器来调用connector的相关方法。 Tomcat启动 入口: org.apache.catalina.startup.Bootstrap 用户观点的启动入口,被启动脚本调用。 org.apache.catalina.startup.Catalina 系统启动入口,提供启动和关闭tomcat的方法,并解析相关配置文件。 Tomcat启动--Bootstrap 流程: 环境变量设置 初始化3个类加载器 commonLoader(common目录) catalinaLoader(server目录) sharedLoader(shared目录) 用catalinaLoader创建了Catalina,并设置sharedLoader 为该实例的父加载器。 根据参数调用Catalina类的start方法。 Tomcat启动--Catalina 流程: Digester解析配置文件,通过相关定义的规则,并从上至下地装载Server对象。 调用server对象的start()方法 注册了java虚拟机的shutdown hook,用于在系统关闭时执行清理 调用await()等待shutdown命令然后关闭tomcat Tomcat启动—server.start() 流程: 对于监听者发出START_EVENT信号。 调用里面Service组件的start方法: 如果service对象没有初始化,则执行初始化 调用container对象的start方法 调用connector的start方法 对于监听者发出AFTER_START_EVENT Tomcat启动—server.container.start() 流程: 容器从上至下启动,Engine-Host-Container-wrapper 主要工作在

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档