生活工程体验信仰哲学精神
投稿投诉
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

tomcat(终于有人把tomcat讲清楚了)

8月4日 楚倾云投稿
  1。1。第一篇:Tomcat架构介绍
  1。1。1。Http工作流程
  HTTP协议是浏览器与服务器之间的数据传送协议。作为应用层协议,HTTP是基于TCPIP协议来传递数据的(HTMI文件、图片、查询结果等),HTTP协议不涉及数据包(Packet)传输,主要规定了客户端和服务器之间的通信格式。
  1。1。1。Http服务器请求处理
  浏览器发给服务端的是一个HTTP格式的请求,HTTP服务器收到这个请求后,需要调用服务端程序来处理,所谓的服务端程序就是你写的Java类,一般来说不同的请求需要由不同的Java类来处理。
  Tomcat架构设计
  HTT服务器不直接调用业务类,而是把请求交给容器来处理,容器通过servlet接口调用业务类。因此servlet接口和Servlet容器的出现,达到了HTTP服务器与业务类解耦的目的。而servlet接口和servlet容器这一整套规范叫作servlet规范。
  Tomcat按照serv1et规范的要求实现了servlet容器,同时它们也具有HTTP服务器的功能。作为Java程序员,如果我们要实现新的业务功能,只需要实现一个servlet,并把它注册到romcat(servlet容器)中,剩下的事情就由Tomcat帮我们处理了。
  1。1。3Tomcat核心功能
  tomcat核心功能
  处理socket连接,负责网络字节流与Request和Response对象的转化。
  加载和管理servlet,以及具体处理Request请求。
  因此Tomcat设计了两个核心组件连接器(Connector)和容器(Container)来分别做这两件事情。连接器负责对外交流,容器负责内部处理。
  Tomcat服务器支持的IO模型及其协议。
  Tomcat8。0版本支持的I0模型(自8。59。0版本起,Tomcat移除了对BIO的支持):
  BIO阻塞IO
  NIO非阻塞IO,采用JavaNIO类库实现。
  NIO2异步IO,采用JDK7最新的NIO2类库实现。
  APR采用Apache可移植运行库实现,是CC编写的本地库。如果选择该方案,需要单独安装APR库。
  Tomcat支持的应用层协议:
  HTTR1。1这是大部分web应用采用的访问协议。
  AJP用于和web服务器集成(如Apache),以实现对静态资源的优化以及集群部署,当前支持AJP1。3。
  HTTP2HTTP2。0大幅度的提升了web性能。下一代HTTP协议,自8。5以及9。0版本之后支持。
  1。1。4。连接器的组件
  连接器组件介绍及其作用。
  EndPoint组件
  1)EndPoint:通信端点,即通信监听的接口,是具体socket接收和发送处理器,是对传输层的抽象,因此EndPoint用来实现TCPIP协议的。
  2)Tomcat并没有EndPoint接口,而是提供了一个抽象类AbstractEndpoint,里面定义了两个内部类:Acceptor和socketprocessor。Acceptor用于监听socket连接请求。socketprocessor用于处理接收到的socket请求,它实现Runnable接口,在Run方法里调用协议处理组件processor进行处理。为了提高处理能力,socketprocessor被提交到线程池来执行。而这个线程池叫作执行器Executor
  Processor组件
  Processor:协议处理接口,如果说EndPoint是用来实现TCPIP协议的,那么Brocessor用来实现HTTP协议,Processor接收来自EndPoint的socket,读取字节流解析成TomcatRequest和Response对象,并通过Adapter将其提交到容器处理,Processor是对应用层协议的抽象。
  ProtocolHandler组件
  ProtocolHandler:协议接口,通过Endpoint和Processor,实现针对具体协议的处理能力。Tomcat按照协议和IO提供了6个实现类:AjpNioprotocol,AjpAprProtocol、AjpNio2Protocol、Http11NioProtocol、HttpllNio2Protocol、Httpl1AprProtocol。我们在配置tomcatconfserver。xml时,至少要指定具体的
  ProtocolHandler,当然也可以指定协议名称,如:HTTP1。1,如果安装了APR,那么将使用Http11AprProtocol,否则使用Http11NioProtocol。
  Adapter组件
  由于协议不同,客户端发过来的请求信息也不尽相同,Tomcat定义了自己的Request类来存放这些请求信息。ProtocolHandler接口负责解析请求并生成TomcatRequest类。但是这个Request对象不是标准的servletRequest,也就意味着,不能用TomcatRequest作为参数来调用容器。Tomcat设计者的解决方案是引入coyoteAdapter,这是适配器模式的经典运用,连接器调用coyoteAdapter的Sevice方法,传入的是TomcatRequest对象,CoyoteAdapter负责将TomcatRequest转成servletRequest,再调用容器的Service方法。
  1。1。5。Catalina介绍
  Catalina组件结构如下
  Catalina:负责解析tomcat的配置文件,以此来创建服务器server组件,并根据命令来对其进行管理。
  Server:服务器表示整个CatalinaServlet容器以及其它组件,负责组装并启动servlet引擎,Tomcat连接器。server通过实现Lifecycle接口,提供了一种优雅的启动和关闭整个系统的方式
  Service:服务是server内部的组件,一server包含多个service。它将若干个Connector组件绑定到一个Container(Engine)上。
  Connector:连接器,处理与客户端的通信,它负责接收客户请求,然后转给相关的容器处理,最后向客户返回响应结果。
  Container:容器,负责处理用户的servlet请求,并返回对象给web用户的模块。
  1。1。6。Container容器结构
  Tomcat设计了4种容器,分别是Engine。Host。Context和wrapper。这4种容器不是平行关系,而是父子关系。,Tomcat通过一种分层的架构,使得serv1et容器具有很好的灵活性。
  各个组件的含义:
  Engine:表示整个Catalina的servlet引擎,用来管理多个虚拟站点,一个service最多只能有一个Engine,但是一个引擎可包含多个Host。
  Host:代表一个虚拟主机,或者说一个站点,可以给Tomcat配置多个虚拟主机地址,而一个虚拟主机下可包含多个Context。
  Context:表示一个web应用程序,一个Web应用可包含多个Wrapper。
  Wrapper:表示一个servlet,Wrapper作为容器中的最底层,不能包含子容器。
  那么,Tomcat是怎么管理这些容器的呢?你会发现这些容器具有父子关系,形成一个树形结构,你可能马上就想到了设计模式中的组合模式。没错,Tomcat就是用组合模式来管理这些容器的。具体实现方法是,所有容器组件都实现了container接口。因此组合模式可以使得用户对单容器对象和组合容器对象的使用具有一致性。这里单容器对象指的是最底层的wrapper,组合容器对象指的是上面的Context、Host或者Engine。
  看到这里,对tomcat有没有一个更深入的了解了呢?如果没有,没关系!小编这里有个0元深入了解tomcat的机会,继续往下看。。。
  0元学编程!Tomcat源码架构与性能优化!3天到课率即返学费!直播课更是穿插抽奖环节,报名就送10G的java架构师课程视频!!!此次课程适合哪些人:1。想深入学习tomcat架构的小伙伴2。想精通tomcat源代码的小伙伴3。想掌握百万并发tomcat性能优化的小伙伴7月15日下周三直播开讲扫码即可报名参加
投诉 评论 转载

为什么五常允许巴基斯坦拥核(拥核是五常默许的)热文聚热点网 二战末期,美国向日本投下两颗原子弹,让外界见识到核武器的巨大杀伤力,核武器一度成为全世界的梦魇,正是如此,各国纷纷呼吁抵制核武器。美苏冷战时期,两国总共研制了上万枚核弹头,一旦……名老中医:一方在手,乙肝不愁!热传聚热点网 小编导读提及乙肝,大家都知道,它一种常见的传染性肝病。若不及时治疗,后期可能会转化为肝硬化、肝癌等十分恶劣的病证。中医学在治疗肝病方面,历史悠久,经验富足,名老中医沈舒文……清明节的作文1100字热评聚热点网 【实用】清明节的作文1100字4篇无论是身处学校还是步入社会,大家都不可避免地会接触到作文吧,作文是从内部言语向外部言语的过渡,即从经过压缩的简要的、自己能明白的语言,向……tomcat(终于有人把tomcat讲清楚了)热议聚热点网 1。1。第一篇:Tomcat架构介绍1。1。1。Http工作流程HTTP协议是浏览器与服务器之间的数据传送协议。作为应用层协议,HTTP是基于TCPIP协议来传递数……六月节日(六月,世界的节日)热议聚热点网 蔡升元整理六月,难以忘怀6月1日,国际儿童节、世界牛奶日;6月3日,世界自行车日;6月4日,受侵略戕害的无辜儿童国际日;6月5日,世界环境日;6月8日,世界海洋日;……难忘的六一儿童节小学优秀个人作文热评聚热点网 难忘的六一儿童节小学优秀个人作文5篇难忘的六一儿童节小学优秀个人作文1“六一”儿童节是我们小朋友的节日。那天,我穿着美丽的花裙子,戴着鲜艳的红领巾,走进了我们那花园……小学童年作文600字热文聚热点网 【精华】小学童年作文600字集锦7篇在平平淡淡的学习、工作、生活中,大家对作文都不陌生吧,作文一定要做到主题集中,围绕同一主题作深入阐述,切忌东拉西扯,主题涣散甚至无主题……读《医药篇》方知张三丰真人良苦用心热议聚热点网 张三丰真人为何不提倡“灵丹妙药”和祖传“秘方”?读《医药篇》方知其良苦用心道海浮游福泉太极宫经典专论三豐祖师张三丰真人《医药篇》解读医……爱好特长怎么写(毕业生简历爱好与特长一般填什么?)热传聚热点 职业相关,这几年改过的简历不下千份了。在给同学们改简历的过程中,发现很多同学其实会忽略爱好与特长这一块,不怎么在这个地方费心思去写。实际上,爱好和特长部分也是有一些门道的……马陆虫(马陆虫危害植物吗?)热闻聚热点网 马陆虫,又名千足虫,多足纲节肢动物,陆生。身体有多节,头部有触角,极像蜈蚣。有时会啃食植物幼苗,因此被认为是害虫。那么我们该如何的消灭它呢?它与蜈蚣有何区别呢?蜈蚣身体扁……十多万元新购房屋为何无法入住热议聚热点网 花十多万元购买房子,兴高采烈地装修好,却发现房子的所有权不是自己的,任何人都难以接受这样的打击。2001年9月初,某市老叶来到一家房屋中介有限公司,在公司工作人员热心介绍下,老……少言寡语造句(少言寡语和千言万语造句)热传聚热点网 一年级一、看拼音,写字词。xionishunishugupnggu苹二、选择正确的序号填在横线上。wnyudngxnhixngxing……
2013年铁路春运时间,2013春运订票时间表,2013年春 一汽解放110月累计销售新车14。78辆,同比下降63。03 【歌词】古风推荐醉仙歌歌手:晃儿音频怪物热传聚热点网 河南博物院:跳出“老三件”文物“活”起来热闻聚热点网 海口全域无中高风险区转为常态化防控热博聚热点网 热文什么是体适能(体适能是做什么)热传聚热点网 喜悦的泪水作文热闻聚热点网 【歌词】皎然记歌手:司夏热博聚热点网 【歌词】再见纸飞机歌手:画天热评聚热点网 张伯礼:病毒进化毒力趋弱的概率大优化赋码管理热博聚热点网 【歌词】冬至歌手:莫文蔚热文聚热点网 黄其森“消失”8个月后回归,泰禾自救之路仍漫漫热议聚热点网
女人的魅力英飞凌的IGBT和MCU长期的大便不成形,今天居然排出了成行的大便,荠菜真是太强大了生命的高贵初二作文650字为什么腾讯总能做出好产品?韩金靓染发剂怎么样(韩金靓染发剂价格多少钱一盒)早安心语,正能量语录句子,精美图片第3期小学语文三年级教案鸟的天堂问题探讨亲子活动通知十里画廊,惊落叶尖几滴晶莹热传聚热点网 让我崇拜的她蝾螈吃什么

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西