前言:

最近公司项目中用到了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 对其他组件的管理则相对困难

Jetty篇一之初识Jetty相关推荐

  1. Jetty篇教程 之Jetty 嵌入式服务器

    1.Jetty简介 1.1 什么是Jetty Jetty是一个提供 HTP服务器.HTTP客户端和javax.servlet容器的开源项目. Jetty9 是Jetty的最近一个版本且比之前的版本有很 ...

  2. java jetty eclipse_用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)

    (软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...

  3. jetty设置双向ssl_在Jetty中设置SSL

    jetty设置双向ssl 当您必须快速启用SSL并陷入困境时,您是否遇到了问题:-( 你并不孤单,我将分享我的痛苦和一些学习. 我将分享在码头上启用SSL的步骤. 警告:仅将以下说明用于开发人员设置和 ...

  4. java jetty的classpath_java代码启动jetty

    记录下 org.eclipse.jetty jetty-server ${jetty.version} test org.eclipse.jetty jetty-webapp ${jetty.vers ...

  5. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为 ...

  6. STM32MP1系列教程连载-硬件设计篇1:初识STM32MP1系列微处理器

    STM32MP1系列教程连载-硬件设计篇1:初识STM32MP1系列微处理器 一.与一只蝴蝶的邂逅 时间退回至2007年9月,对于刚步入大学的笔者而言,微控制器的含义仅仅局限于文字.而在同年的6月意法 ...

  7. [使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之jetty篇(一)...

    上次介绍了怎么在eclipse中添加本地依赖类,这次带来的是一个简单的SSH2整合maven-jetty-plugin的例子,jetty估计都不陌生了,它是一个基于是一个开源的servlet容器,它为 ...

  8. jetty嵌入式容器_嵌入式Jetty和Apache CXF:借助Spring Security来保护REST服务

    jetty嵌入式容器 最近,我遇到了一个非常有趣的问题,我认为这只需要几分钟就可以解决:在Linux中使用Spring Security (当前稳定版本3.2.5 )保护Apache CXF (当前版 ...

  9. option:contains后面加变量_Python基础篇 -2:初识Python中的变量

    Python学习基础篇 -2 前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 第二篇 ...

最新文章

  1. WEB SSH Ajaxterm客户端配置(1)
  2. 每天五分钟linux(8)-cp
  3. 【青海】2021年下半年软考报考时间及通知
  4. ssh框架mysql连接出错_使用ssh框架,不能像数据库添加数据,还不报错
  5. 1.1 小巩的疑惑
  6. Android和iPhone应用程序界面布局示例
  7. C++并发编程 (1) 基本知识
  8. 普通二本院校的讲师可以不做科研吗?
  9. XenApp/XenDesktop 7.12新功能LHC解读
  10. 树状数组(区间,单点间操作)
  11. mysql 系统变量_MySQL系统变量(查看和修改)
  12. 真假Kingston U盘识别
  13. 收货地址列表html,收货地址.html
  14. 内存(主存)(一般指电脑内存条)包含RAM(SRAM,DRAM),ROM,高速缓存(CACHE),SDRAM,DDRRAM
  15. 5分钟学会图片优化 之 七伤拳
  16. 想学明白PostgreSQL,得先捋一捋体系架构
  17. 兼顾时尚与商务? ThinkPad Z 重新定义“商务本”
  18. win10修复计算机没反应,win10修复引导【解决方法】
  19. matlab-数学运算
  20. Android-menu键选项菜单的实现

热门文章

  1. 51单片机入门学习 第一天
  2. 从零学习入门51单片机和STM32单片机
  3. 中国N-SiC基片市场深度研究分析报告
  4. 网站流量变现 , 淘宝/京东/拼多多精准商品推广赚钱....
  5. 鸿蒙手机怎么设置每天上下班打卡提醒?用待办软件开启打卡提醒
  6. 数据与广告系列三十:从oCPX的无形调控之手到定向价值定位
  7. outlook计算机应用操作题,计算机应用基础练习题——Outlook
  8. 轨交7号线正式运营 沿线在售升值潜力盘推荐
  9. 没钱的草根站长可以这样推广网站
  10. 清华计算机2017学硕,2017级清华大学研究生来自于哪些大学?看完你就明白啦!...