当前位置: 首页 > news >正文

免费做电子相册的网站东莞推广公司

免费做电子相册的网站,东莞推广公司,如何用付费音乐做视频网站,上海品质网站建设一、背景与简介 Tomcat我们都知道是一个开源的、实现了大部分Java EE、Servlet、JSP规范的Servlet容器, 允许我们将实现了Serlvet接口的Web程序war包进行部署运行。 但是你有对Tomcat做过细致的学习么? 我相信大部分同学和我一样,之前也是只会进行简单使用&#x…

一、背景与简介

        Tomcat我们都知道是一个开源的、实现了大部分Java EE、Servlet、JSP规范的Servlet容器, 允许我们将实现了Serlvet接口的Web程序war包进行部署运行。 但是你有对Tomcat做过细致的学习么?  我相信大部分同学和我一样,之前也是只会进行简单使用,如启动、停止、部署Web应用程序等, 对其工作原理和组件架构没有深入去学习。 趁着机会,我们一起深入学习Tomcat组件架构和数据流向。

        除了开源版本的Servlet容器: Tomcat, 我们也还听到或者使用过一些闭源商业的Servlet容器/应用服务器, 例如Oracle的WebLogic、IBM的WebSphere等。

二、Tomcat组件架构图

1、整体介绍

        Tomcat的组件之间是存在层次结构的:

                 1、首先整个Tomcat我们称为一个Server, 这个Server就是Tomcat, 有且只有1个

                 2、一个Server可以存在多个Service, 每个Service必须存在一个【Connector连接器组件(Coyote框架)】或者多个Connector连接器、有且只有1个【Container组件(Catalina)】 
                 3、Container组件(Catalina)存在一个Engine组件, Engine组件存在多个Host虚拟主机

                 4、每个Host虚拟主机又存在多个Context, 一个Context可以认为就是一个Web应用

                 5、每个Context又存在多个Warpper, 一个Warpper包含一个Servlet类

2、Connector连接器组件(Coyote)

        Connector连接器组件,默认使用Coyote框架实现。 Connector连接器是Tomcat构成的两大组件之一。

        Connector本质上就是针对一些应用层协议进行管理以及解析相关工作的组件, 例如单纯处理HTTP1.1协议的解析、响应等相关工作,可以理解这个组件就是Tomcat内置了HTTP服务器要实现的功能,和Nginx的作用类似。   根据单一职责原则,Connector只处理与HTTP协议相关的工作内容, 之后将HTTP协议请求的Request对象转换为下一个组件Container Servlet容器所需要的ServletRequest对象, 后续业务逻辑的内容交给了Container组件进行实际业务处理,最后返回Response响应对象。

3、Container Sevlet容器组件(Catalina)

        Container容器组件,默认使用Catalina框架实现。 Container容器是Tomcat构成的另外一个重要组件。

        Container容器组件是整个Tomcat的核心组件,名为Catalina容器。 从启动脚本catalina.sh这些命名,足以彰显和整个Tomcat关系。  Container负责对Servlet对象进行生命周期管理、如初始化、调用doService方法、销毁、通过mapping URL映射找到对应的Servlet对象进行执行等等, 最后将Response信息返回给Connector连接器组件。

三、Tomcat数据处理流程

例如浏览器访问http://localhost:8080/myapp/路径,此时会经历以下流程:

        1、Connector的Endpoint子组件监听8080端口,接收客户端浏览器请求报文(TCP/Socket)

        2、经过Processor子组件处理,解析为应用层协议HTTP协议,将请求信息拿到进行封装为Request对象

        3、由于Container组件需要的是ServletRequest对象,直接传递Connector的Request对象,对方无法处理,所以通过子组件Adapter进行适配器转换,将Request对象转换为ServletRequest对象

        4、Container拿到请求数据,根据请求的域名查找对应的Host虚拟主机进行处理

        5、根据url找到对应Context应用为myapp, 查找myapp/WEB-INFO/web.xml,根据web.xml的mapping映射关系定位到对应的Servlet

        6、定位到具体Servlet,根据请求方法get或者post调用对应doGet、doPost方法,最后返回ServletResponse对象给Connector

        7、Connector连接器拿到ServletResponse对象通过子组件Adapter转换为Response对象,最后将响应请求的内容返回给浏览器客户端

四、参数调优建议

1、JVM参数调优

        Tomcat本质就是一个Java进程,Java进程自然就是一个JVM虚拟机, 那就是对JVM的一些参数调优.

1、堆内存大小、元空间内存大小、新生代和老年代内存比例优化

例如-Xmx、-Xms等

2、GC垃圾回收器算法选择

GC垃圾回收器算法, 例如CMS、G1、Serinal等等

2、Connector参数调优

1、最大连接数、线程数、最大排队数量

maxConnections、maxThreads、acceptCount

http://www.mmbaike.com/news/108972.html

相关文章:

  • php网站建设心得体会如何在手机上制作网站
  • 网络推广方案联系昔年下拉杭州seo推广优化公司
  • 产品开发的流程包括哪几个阶段seo搜索引擎优化排名哪家更专业
  • 黑龙江省建设厅的网站怎么样做seo
  • 网站开发培训内容推销
  • 北京网站建设设计公司哪家好麒麟seo软件
  • 广州做网站哪里有泉州百度竞价开户
  • 漳州做网站建设的公司搜狗友链交换
  • 西安西部数码备案网站大连seo按天付费
  • 返利网站做淘宝网站推广工具有哪些
  • 海南代办注册公司的正规公司宁波谷歌seo推广
  • 标准版网站制作电脑软件推广平台
  • 哪个网站可以查建筑公司资质郑州网站seo公司
  • 网站建设静态代码精准防恶意点击软件
  • iis 制作搜索网站网站推广怎样做
  • 门户网站app开发百度快照客服电话
  • web 网站做横道图seo优化是什么
  • 四川网站开发制作重庆百度推广排名
  • 织梦做的网站如何放在网上网站外包公司有哪些
  • 做网站时怎样图片上传怎么才能让图片不变形_有什么插件吗互联网论坛
  • web网站开发实验百度站长工具
  • soho的网站怎么做seo关键词分类
  • 服务器怎么做网站教程营销案例100例简短
  • 企业网站服务门户今日疫情最新数据
  • seo优秀网站杭州上城区抖音seo有多好
  • 论坛网站制作费用吴江seo网站优化软件
  • 怎样做网站关键词优化瑞昌网络推广
  • 如东网站建设网络公司起名
  • 大连龙彩科技的网站在谁家做推广代理登录页面
  • 北京京水建设集团有限公司网站公司网站如何制作设计