首页 > 其他分享 >Jetty篇一之初识Jetty

Jetty篇一之初识Jetty

时间:2023-11-09 18:02:54浏览次数:27  
标签:Tomcat Jetty 初识 Server Handler 组件 Servlet

前言:        

        最近公司项目中用到了Jetty来作为项目的web容器,借此机会来分享一下我的学习心得。在学习Jetty之前,一定要了解一些Jetty的基本概念以及优缺点,这样才方便做更深入的学习,现在让我来慢慢揭开它的神秘面纱吧!

基础:

    什么是Jetty?

        简单来讲Jetty就是一个开源的HTTP服务器和Servlet引擎,它可以为JSP和Servlet提供运行时环境,比如Java Web应用最常用的Servlet容器Tomcat,由于其轻量、灵活的特性,Jetty也被应用于一些知名产品中,例如ActiveMQ、Maven、Spark、GoogleAppEngine、Eclipse、Hadoop等。

    为什么使用Jetty?

        ①异步的 Servlet,支持更高的并发量  

        ②模块化的设计,更灵活,更容易定制,也意味着更高的资源利用率

        ③在面对大量长连接的业务场景下,Jetty 默认采用的 NIO 模型是更好的选择

        ④将jetty嵌入到应用中,使一个普通应用可以快速支持 http 服务

    Jetty的基本架构:                                                                                              

        Jetty 的架构比较简单,核心组件主要是由 Server 和 Handler 组成。其中 Server 的 Handler 是其比较重要的一个数据模型,Jetty 中所有的组件都是基于  Handler 来实现的。

Tomcat的基本架构:

        Server是Tomcat的最顶层元素,是service的集合,即可包含多个service,Server控制整个Tomcat的生命周期。Service由一个Container和多个Connector组成(或者说由Connector,Engine和线程池[可选]组成),形成一个独立完整的处理单元,对外提供服务。

Jetty与Tomcat的对比:

        ①Jetty 比较容易贴合第三方框架,比如你可以直接用 Spring 配置一个 Jetty 服务器

        ②直接可以将 Jetty 作为提供 HTTP 服务的组件,嵌入到应用中

        ③Jetty 是面向 Handler 的架构,而 Tomcat 是面向容器的架构

        ④Jetty 默认采用 NIO 技术,而 Tomcat 默认是 BIO

        ⑤Jetty 高度模块化,可以很灵活的管理拓展组件,而 Tomcat 对其他组件的管理则相对困难


标签:Tomcat,Jetty,初识,Server,Handler,组件,Servlet
From: https://blog.51cto.com/u_16270487/8285056

相关文章

  • 初识Django
    web框架web框架本质上可以看成是一个很强大的socket服务端,用户的浏览器可以看成是拥有可视化界面的socket客户端,两者通过网络请求实现数据交互,也可以从框架层面上先简单的将web框架看成是对前端、数据库的全方位整合web手敲框架步骤1.搭建socket服务端importsocketserver......
  • 初识Setting 应用WIFI设置
    最近负责的一个简单定制化的setting,需要学习Wifi这一块方面的内容。通过这篇文章来了解一下原生的Setting处理Wifi的方式。有错误也希望大家提出来,我改进!使用步骤申请权限、获取系统服务WifiManager。通过wifiManager.startScan();扫描WiFi列表。注意这个动作是耗时的......
  • 数据结构之散列表与哈希函数初识
    一:概述一:为什么需要散列表*在我们的程序世界里,往往也需要在内存中存放这样一个“词典”,方便我们进行高效的查询和统计。*例如开发一个学生管理系统,需要有*通过输入学号快速查找对应学生的姓名的功能。*这里不必要每次都去查询数据库,而可以在内存中建立一个缓存表,这样做可以......
  • 第一章 初识Linux
    1.Linux简介1.1Linux是多用户多任务的操作系统,免费开源,主要用于搭建服务器,性能稳定。但是Linux系统是专业系统,原始环境较为简单,大部分功能的实现都需要自我搭建。1.2  Linux系统都是由文件构成。对于操作系统内核而言,命令、硬件、软件设备都被视为一个拥有特定功能的......
  • 初识python
    学习目标1、使用print输出内容2、熟悉字符串类型3、熟悉数字类型4、熟悉数字与字符串操作核心知识输出print可控制输出内容也可配合+、-、、/进行运算,和整数型配合可进行运算和字符型配合有不同效果,如+为拼接,为多次输出注:整数型如:123456,字符型需用引号包起来,可为中文......
  • 2023 10.26 初识计算机
    什么是计算机由硬件软件组成科学计算数据处理硬件计算机运行的基本原理由输入设备(键盘鼠标)发布命令—CPU计算处理数据的结果—放到内存(通过媒介主板)—然后通过输出设备(显示器)(当然需要电源供电,显卡提高显示精度)CPU里面包含运算器+控制器,运算器计算结果反馈内存,控......
  • 初识Linux(swxy,2021tln)
    什么是Linux,为什么要学习Linux,这是我们学习Liunx的第一步。Linux是一套操作系统,与windows,苹果电脑的macOSX一样,都是可以在电脑上运行的操作系统。但是相对于windows7,windows10,以及macos来说,Linux在个人电脑上可以说是很小众了,在我们的日常生活中可能根本看不到。其实不然,Lin......
  • C++初识(续篇)
    1.2注释作用:在代码中加一些说明和解释,方便自己或其他程序员阅读代码两中格式单行注释:通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明//这样的是单行注释多行注释:通常放在一段代码的上方,对该段代码做整体说明/*这种的是多行注释可以写好多行*/......
  • JavaWeb-初识Spring
    目录Spring简介Spring项目Bean管理基于xml的Bean管理创建对象属性注入基于xml+注解的Bean管理创建对象属性注入基于纯注解的Bean管理内容Spring简介Spring是什么Spring是于2003年兴起的一个轻量级的Java的开放源代码的设计层面框架......
  • 云图说|初识API中心APIHub
    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。摘要:API中心是为API开发者和应用开发者构建的海量API的汇聚运营平台。通过统一汇聚和持续运营,贯通......