tomcat概念(tomcat百度百科)

健康新闻 2023-05-01 18:58健康生活www.xingbingw.cn

  tomcat概念(tomcat百度百科),新营销网红网本栏目通过数据整理汇集了tomcat概念(tomcat百度百科)相关信息,下面一起看看。

   1.1.第一篇文章:Tomcat架构介绍

   1.1.1.Http工作流

   HTTP是浏览器和服务器之间的数据传输协议。HTTP作为应用层协议,传输数据(HTMI文件、图片、查询结果等。)基于TCP/IP协议。HTTP协议不涉及数据包传输,主要规定客户端和服务器之间的通信格式。

   1.1.1.Http服务器请求处理

  浏览器向服务器发送HTTP格式的请求。HTTP服务器收到这个请求后,需要调用服务器程序来处理。所谓的服务器程序就是你写的Java类。一般来说,不同的请求需要由不同的Java类来处理。

   Tomcat架构设计

   HTT服务器不是直接调用业务类,而是将请求交给容器进行处理,容器通过servlet接口调用业务类。所以servlet接口和Servlet容器的出现达到了HTTP服务器与业务类解耦的目的。servlet接口和servlet容器的整套规范称为servlet规范。

   Tomcat按照serv1et规范的要求实现servlet容器,它们还具有HTTP server的功能。作为Java程序员,如果我们要实现新的业务功能,我们只需要实现一个servlet,并在romcat (servlet容器)中注册它,剩下的由Tomcat来为我们处理。

   Tomcat核心功能

   Tomcat核心函数

  处理套接字连接,负责网络字节流与请求和响应对象之间的转换。

  加载和管理servlet,特别是处理请求。

  所以Tomcat设计了两个核心组件,连接器和容器,分别做这两件事。连接器负责外部通信,容器负责内部处理。

   Tomcat服务器支持的IO模型及其协议。

   Tomcat 8.0版支持的I0模型(从8.5/9.0版开始,Tomcat已经去掉了对BIO的支持):

  生物阻塞输入输出

   NIO非阻塞I/O,由Java NIO类库实现。

   2 NIO异步I/O,由JDK 7最新的NIO2类库实现。

   APR由Apache portable runtime实现,是C/C编写的本地库,如果选择这个方案,需要单独安装APR库。

   Tomcat支持的应用层协议:

   HTTR/1.1这是大多数web应用程序采用的访问协议。

   AJP用于与web服务器(如Apache)集成,以优化静态资源和集群部署。目前,支持AJP/1.3。

   HTTP/2 HTTP 2.0极大地提高了web性能。下一代HTTP协议,从版本8 .5和9.0开始支持。

   1.1.4.连接器的组件

  连接器及其功能介绍。

  端点组件

   1)端点:通信端点,即通信监控的接口,是具体的套接字收发处理器,是传输层的抽象,所以用端点3360来实现TCP/IP协议。

   2) Tomcat没有端点接口,但是提供了一个抽象类AbstractEndpoint,定义了两个内部类: Acceptor和socketprocessor。接受器,用于监控套接字连接请求。Socketprocessor用于处理接收到的socket请求,它实现Runnable接口,在Run中调用协议处理组件处理器进行处理。为了提高处理能力,socketprocessor被提交到线程池中执行。这个线程池叫做执行器

  处理器组件

  处理器:协议处理接口,如果用EndPoint实现TCP/IP协议,那么用Brocessor实现HTTP协议。处理器从端点接收套接字,读取字节流,解析成Tomcat请求和响应对象,通过适配器提交给容器进行处理。处理器是应用层协议的抽象。

   ProtocolHandler组件

   ProtocolHandler :协议接口,通过端点和处理器,实现对特定协议的处理能力。Tomcat根据协议和I/O提供了6个实现类: AjpNioprotocol,AjpAprProtocol,AjpNio2Protocol,Http11NioProtocol,Httpl1AprProtocol。配置tomcat/conf/server时。xml,我们至少应该指定具体的

  当然,你也可以指定协议名,比如: HTTP/1.1。如果安装了APR,那么将使用Http11AprProtocol,否则将使用Http11NioProtocol。

  成分

  由于协议不同,客户端发送的请求信息也不同。Tomcat定义了自己的请求类来“存储”这些请求。

  求信息。ProtocolHandler接口负责解析请求并生成Tomcat Request类。 但是这个Request对象不是标准的servletRequest ,也就意味着,不能用Tomcat Request作为参数来调用容器。Tomcat设计者的解决方案是引入coyoteAdapter ,这是适配器模式的经典运用,连接器调用coyoteAdapter的Sevice ,传入的是Tomcat Request对象, CoyoteAdapter负责将Tomcat Request转成servletRequest ,再调用容器的Service 。

  1.1.5. Catalina介绍

  Catalina组件结构如下

  Catalina:负责解析tomcat的配置文件,以此来创建服务器server组件,并根据命令来对其进行管理。

  Server:服务器表示整个Catalina Servlet容器以及其它组件,负责组装并启动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的机会,继续往下看。。。

   相关文章

  十大巅峰网游小说(十大公认网游小说神作推荐)

  百度网盘登陆入口(百度网盘共享群的正确使用方法)

  恶人传评价(《恶人传》以暴制暴成了救赎)

  百度网盘登录入口(百度网盘安装方法)

  番禺中学排名(番禺区热门学校盘点)

  马路标志(交通安全标示大全及图解)

  苹果序列号是哪个(iPhone序列号知识扫盲)

  故宫太和殿介绍(故宫的太和殿为什么叫金銮殿)

  东营人均gdp(中国人均GDP前15强城市)

  陆贞原型(陆贞传奇的原型各个奇葩)

  硫酸铜什么颜色(硫酸铜的用途与危害)

  小米平板4参数(小米平板4参数全曝光)

  更多tomcat概念(tomcat百度百科)相关信息请关注本文章,本文仅仅做为展示!

Copyright@2015-2025 www.xingbingw.cn 性病网版板所有