Jetty

一、jetty的基本讲解

1、基本概念

 jetty:  Jetty是一个开源的servlet容器,它为基于Java的web容器,
例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以
一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速
为一些独立运行(stand-alone)的Java应用提供网络和web连接ps:要想使用则必须先安装且配置JDK

2、jetty的好处

 ①异步的 Servlet,支持更高的并发量  ②模块化的设计,更灵活,更容易定制,也意味着更高的资源利用率③在面对大量长连接的业务场景下,Jetty 默认采用的 NIO 模型是更好的选择④将jetty嵌入到应用中,使一个普通应用可以快速支持 http 服务⑤Jetty也被应用于一些知名产品中,例如ActiveMQ、Maven、Spark、GoogleAppEngine、Eclipse、Hadoopps:jetty是一个轻便,性能强悍的一个类似于tomcat的服务器中间件

3、jetty实现发布运行web项目

1.Eclipse配置jetty插件: 采用的是离线版的 直接即可复制即可2.创建一个web项目,可以是maven的,也可以不是maven的,直接使用即可选中项目,单击右键,参考:jetty的运行示意图.png


4、jetty部署web项目

1.准备工作:1)先去jetty的官网下载一个jetty的压缩包(其实jetty的官网就是eclipse的官网),然后放在到D:/tools下,然后解压,然后将解压之后的名字更改为jetty202001172.验证并运行官网给的示例: 参考图:jetty的验证并运行官网给的示例.png 输入指令: java -jar   D:\tools\jetty20200117\jetty20200117/start.jar###部署web项目###        准备工作:准备一个web项目的war包 3.将war包放入到D:\tools\jetty20200117\jetty20200117\webapps文件夹下4.进入到D:\tools\jetty20200117\jetty20200117目录下,然后参考图:jetty部署web项目..png,输入指令: java -jar start.jar 即可看到部署成功了


5.修改端口号

6、jetty与Tomcat的区别

Jetty和tomcat的比较

相同点:Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。
不同点:架构比较 Jetty的架构比Tomcat的更为简单 Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。 Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。性能比较 Jetty和Tomcat性能方面差异不大 Jetty可以同时处理大量连接而且可以长时间保持连接,适合于web聊天应用等等。 Jetty的架构简单,因此作为服务器,Jetty可以按需加载组件,减少不需要的组件,减少了服务器内存开销,从而提高服务器性能。 Jetty默认采用NIO结束在处理I/O请求上更占优势,在处理静态资源时,性能较高;Tomcat适合处理少数非常繁忙的链接,也就是说链接生命周期短的话,Tomcat的总体性能更高。 Tomcat默认采用BIO处理I/O请求,在处理静态资源时,性能较差。其它比较 Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好。 Tomcat目前应用比较广泛,对JavaEE和Servlet的支持更加全面,很多特性会直接集成进来。

二、Undertow的基本讲解

1、基本概念

1.Undertow: Undertow(暗涌) 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器2.特点:轻量级:它是一个 Web 服务器,但不像传统的 Web 服务器有容器概念,它由两个核心Jar包组成,加载一个 Web 应用可以小于 10MB 内存Servlet3.1支持:它提供了对Servlet3.1的支持(支持异步)WebSocket支持:对Web Socket完全支持,用以满足 Web 应用巨大数量的客户端嵌套性: 它不需要容器,只需通过API即可快速搭建Web服务器3.官网: https://undertow.io/

2、Undertow实现简单的文件系统

 1.导读模块:Undertow 是基于java nio的web服务器,应用比较广泛,内置提供
的PathResourceManager,可以用来直接访问文件系统;如果你有文件需要对外提供访
问,除了ftp,nginx等,undertow 也是一个不错的选择,作为java开发,服务搭建非
常简便2.使用Undertow搭建一个简单的文件系统:1)创建一个maven项目,且引入undertow的依赖<dependency><groupId>io.undertow</groupId><artifactId>undertow-core</artifactId><version>2.0.22.Final</version></dependency>2)在mian函数的App类中,创建服务并启动package com.rj.bd;import java.io.File;import io.undertow.Handlers;
import io.undertow.Undertow;
import io.undertow.server.handlers.resource.PathResourceManager;/*** @desc  利用Undertow实现简单的文件发布系统* @author HYZ* @time  2021年1月12日*/
public class App {public static void main( String[] args ){//1.构建的文件系统的路径File file = new File("D:/tools/");//2.基于Undertow在本机上创建服务程序,且端口号是8099,Undertow server = Undertow.builder().addHttpListener(8099, "localhost")//设置Http请求手柄.setHandler(Handlers.resource(new PathResourceManager(file.toPath(), 100))//设置显示文件列表       .setDirectoryListingEnabled(true))//创建服务.build();//3.启动服务server.start();              }
}

3、Tomcat与Undertow的区别

 导读模块:undertow,jetty和tomcat可以说是javaweb项目当下最火的三款服务器,
tomcat是apache下的一款重量级的服务器,不用多说历史悠久,经得起实践的考验。然而:当下微服务兴起,spring boot ,spring cloud 越来越热的情况下,选择一
款轻量级而性能优越的服务器是必要的选择。spring boot 完美集成了tomcat,jetty和
undertow。值得一提的是jetty和undertow都是基于NIO实现的高并发轻量级的服务器,
支持servlet3.1和websocket。tomcat与undertow在功能是基本上一样的,他们的区别主要在于性能上1)Tomcat APR 模式 "最优" , Jetty"最差",Undertow也没有想象中的碾压 Tomcat2)Tomcat NIO 模式 压力刚上来的时候CPU会用满,稳定后基本会留有10%以上的空闲3)Jetty采用的默认配置 , 才2k不到的QPS确实有点出乎意料的,但是体积小,比较灵活4)Undertow提供的配置项很少 , 只有线程数和缓冲大小,加大线程数后也没能显著提升性能PS:QPS:系统吞吐量

jetty与Undertow相关推荐

  1. Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers

    原文地址:https://examples.javacodegeeks.com/enterprise-java/spring/tomcat-vs-jetty-vs-undertow-compariso ...

  2. servlet container:tomcat jetty and undertow

    1 spring boot内嵌容器支持tomcat.jetty和undertow 但是undertow性能最好,详见: https://examples.javacodegeeks.com/enter ...

  3. Tomcat vs Jetty vs Undertow性能对比

    文章目录 测试环境 压测环境: 压测指标 结论 Tomcat,Jetty和Undertow是目前比较主流的3款Servlet容器,而且Spring Boot框架还提供了对它们的集成支持(默认使用的是T ...

  4. springBoot中jetty tomcat undertow对比与undertow线程池配置

    springBoot中jetty tomcat undertow对比 1)tomcat优点是稳定性好.可靠性高.支持 Servlet 和 JSP 等标准.构建中小型的 Web 应用程序,可以选择 To ...

  5. Java REST API Server 性能比较 Tomcat/Jetty/Grizzly/Undertow

    JSR-356:WebSocket JSR-311:JAX-RS 原文地址 https://menelic.com/2016/01/06/java-rest-api-benchmark-tomcat- ...

  6. Spring Boot配置Tomcat容器、Jetty容器、Undertow容器

    Spring Boot配置Tomcat容器.Jetty容器.Undertow容器 Tomcat.Jetty.Undertow Tomcat概述 Jetty概述 Undertow概述 Spring Bo ...

  7. SpringBoot 配置嵌入式Servlet容器(tomcat,jetty,undertow)

    SpringBoot 默认打包方式为jar包,且可以自启动,就是因为它内嵌了Servlet容器. SpringBoot 默认使用嵌入式Servlet容器,SpringBoot 2.2.5 默认是 To ...

  8. Undertow,Tomcat和Jetty服务器之间的区别

    Undertow,Tomcat和Jetty服务器配置详解与性能测试 本文文章是通过研究时下比较流行的Java框架spring boot引发的思考,希望大家能一起学习.undertow,jetty和to ...

  9. 吊打 Tomcat ,Undertow 性能很炸!!

    在 Java Web 容器的世界里,Tomcat 和 Jetty 是大名鼎鼎的.用的最多的开源项目,也是大众熟知的. 今天再介绍另外一款能和 Tomcat 媲美的神器:Undertow,据说性能方面还 ...

最新文章

  1. leetcode第一刷_Recover Binary Search Tree
  2. GitHub日收12000星,微软新命令行工具引爆程序员圈!
  3. key的数据类型是字符串
  4. java动态代理和cglib动态代理
  5. pb的webserver增加的方法发布后没有显示_震惊!!!Diboot 2.0.5 发布,让开发工作又快又爽...
  6. windows azure mysql data disk_调整Azure中虚拟机数据磁盘大小实践
  7. Apache配置问题
  8. 人脸对齐(二十一)--A Recurrent Encoder-Decoder Network for Sequential Face Alignment
  9. Himawari-8葵花八HSD数据处理——几何校正
  10. python设置主题背景
  11. 【Ail规约】慎用 Object 类下的 clone 方法拷贝对象
  12. java创建无法确定大小的数组
  13. 深入 iOS 静态链接器(一)— ld64
  14. 企业内的ITSM软件与OA系统有什么区别和关系?
  15. 干货 | 如何做一档好节目?
  16. 多年后再回头看那海市蜃楼
  17. plsql无法连接oracle,报错:ORA-12514
  18. 自定义漂亮的圆形进度条
  19. 京东、天猫等电商平台产品评价
  20. [蓝桥杯]连号区间数[题目详解]

热门文章

  1. MySQL报错:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone
  2. SpaceVim 使用指南
  3. PAT (Basic Level) Practice学到的东西C语言篇
  4. PYNQ(三)HDMI学习彩条
  5. 微信能设置“两个头像”,来试试!
  6. Apollo路径规划学习
  7. 辽宁聚能合创:抖音直播赚钱吗?
  8. 申宝公司-道指、标普创收盘新高
  9. 日更计划Day1 USACO Feb BronzeT3
  10. juicer.js 使用 示例