Java:顶级Java应用程序服务器 — Tomcat、Jetty、GlassFish、WildFly

news/2024/4/26 9:19:49/文章来源:https://blog.csdn.net/yueqian_edu/article/details/129127504

  如果你想编写Java web应用程序,首先需要做出一个艰难的决定:选择运行应用程序的Java应用程序服务器。

  什么是应用服务器?一般来说,应用程序服务器执行Java应用程序。在操作系统中启动它们,然后将应用程序部署到其中。将应用程序服务器视为运行Java代码并使其正常运行的容器。此外,应用程序服务器提供了一些通用的基础结构和功能功能,你可以在自己的代码中使用这些功能。

  在本文中,我们介绍4个流行的Java应用程序服务器。

  Tomcat

  Tomcat是与Apache软件基金会开发的Java web应用程序一起使用的最流行的应用程序服务器。

  事实上,Tomcat并没有实现JavaEE应用程序服务器所需的所有功能。Tomcat的准确标题应该是“web服务器”或“servlet容器”。但即使Tomcat不支持一些现成的JavaEE特性,你仍然可以使用这些特性中的大部分。你只需要将它们作为附加的第三方依赖项包含在应用程序中即可。底线是你可以在Tomcat上运行Java EE应用程序。

  因此,Tomcat是成熟的、文档丰富的,也是使用最广泛的Java应用程序服务器。凭借良好的文档和互联网上关于它的教程,Tomcat是几乎所有Java web应用程序中应用服务器角色的有力竞争者。

  

  Jetty

  Jetty是另一个应用服务器(这是由EclipseFoundation开发的),从技术上讲,它不是一个功能齐全的JavaEE容器。就像Tomcat一样,它缺乏对许多Java EE特性的支持。就像Tomcat一样,你仍然可以通过包含额外的第三方依赖项来使用大部分功能。

  尽管Jetty的市场份额远不及Tomcat,但它仍在行业中广泛使用。它的两个主要卖点是紧凑和占地面积小。两者都使Jetty非常适合受限环境和嵌入其他产品。

  GlassFish

  GlassFish是由Oracle开发的功能齐全且经过认证的Java EE应用程序服务器。因此,GlassFish比Tomcat或Jetty更重,而且可以说,操作起来有点困难。

  事实上,GlassFish不仅仅是一个通用的JavaEE应用程序服务器。它是JavaEE标准的参考实现。这意味着GlassFish被用来展示Java EE功能,并且它得到了定义Java EE标准的人的贡献。因此,GlassFish将始终首先支持最新的JavaEE特性。这是一个优点。

  WildFly

  与GlassFish相比,WildFly的最大优势是Red Hat提供了一条从WildFly到其商业支持的应用程序服务器JBoss Enterprise application Platform的简单迁移路径。这意味着,如果你决定这是你需要的,你可以立即使用WildFly,并在将来快速迁移到JBossEAP以获得商业支持。

  结论

  总的来说,如果你需要更小的占地面积,请考虑Jetty。如果你的项目中需要广泛的Java EE支持,请使用WildFly。最重要的是,如果你的组织已经在其他项目中使用了特定的应用程序服务器,那么只需效仿即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_71878.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

07 二叉树

开始系统学习算法啦!为后面力扣和 蓝桥杯的刷题做准备!这个专栏将记录自己学习算法是的笔记,包括 概念, 算法运行过程,以及 代码实现,希望能给大家带来帮助,感兴趣的小伙伴欢迎评论区留言或者私…

重要节点排序方法

文章目录研究背景提前约定基于节点近邻的排序方法度中心性(degree centrality, DC)半局部中心性(semilocal centrality, SLC)k-壳分解法基于路径排序的方法离心中心性 (Eccentricity, ECC)接近中心性 (closeness centrality, CC)K…

【图文详解】Unity存储游戏数据的几种方法

Unity3D存储游戏数据的方式1 PlayerPrefs: Unity自带的一种简单的键值存储系统2 ScriptableObject: Unity中最灵活的数据管理工具2.1 如何手动创建和修改数据文件2.2 ScriptableObject优缺点总结3 JSON: 轻量级的数据交换格式3.1 序列化与反序列化3.2 用JsonUtility对对象进行序…

最好的工程师像投资者一样思考,而不是建设者

我在大学期间住在图书馆。“我学习的教科书理论越多,我就会成为一名更好的工程师,”我想。然而,当我开始工作时,我注意到业内最优秀的工程师并不一定比应届毕业生了解更多的理论。他们只是带来了不同的心态,即投资者的…

STM32单片机蓝牙APP空气净化系统甲醛二氧化碳温度SGP30

实践制作DIY- GC0124-蓝牙APP空气净化系统 一、功能说明: 基于STM32单片机设计-蓝牙APP空气净化系统 功能介绍: 硬件组成:STM32F103C最小系统板DS18B20温度传感器OLEDSGP二氧化碳甲醛传感器5V直流风扇多个按键HC-05蓝牙模块(仅蓝…

大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——MapReduce工作流程

1、流程示意图 MapReduce详细工作流程(一) MapReduce详细工作流程(二) 2、流程详解 上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解&#xff0…

二进制部署K8S

目录 一、环境准备 1、常见的k8s部署方式 2、关闭防火墙 3、关闭selinux 4、关闭swap 5、根据规划设置主机名 6、在master添加hosts 7、将桥接的IPv4流量传递到iptables的链 8、时间同步 二、部署etcd集群 1、master节点部署 2、查看证书的信息 2.1 创建k8s工作目…

SQL74 纠错2

描述供应商表Vendors有字段供应商名称vend_name、供应商国家vend_country、供应商省份vend_statevend_namevend_countryvend_stateappleUSACAvivoCNAshenzhenhuaweiCNAxian【问题】修改正确下面sql,使之正确返回SELECT vend_name FROM Vendors ORDER BY vend_name W…

【Redis】数据结构篇

一. String 字符串 常见用途:缓存用户信息,将用户信息结构体使用 JSON 序列化为字符串,然后将序列化后的字符串给 Redis 来缓存 Redis 字符串是动态字符串,是可以修改的字符串 —— 实现类似 ArrayList ?&#xff1f…

【自动化测试】自动化测试框架那些事儿

无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架。在教学的过程中,同学们一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料,加上一些实践,算是对“框架”有了一些理解…

什么是生命周期?Activity生命周期的三种状态

什么是生命周期生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期中分为三种状态,分别是运行状态、暂停状态和停止状态。接下来将针对Activity生命周…

CANopen概念总结、心得体会

NMT网络管理报文: NMT 主机和 NMT 从机之间通讯的报文就称为 NMT 网络管理报文。常见报文说明: 0101---------------网络报文发送Nmt_Start_Node,让电机进入OP模式(此时还不会发送同步信号) setState(d, Operational)------------------开启…

STM32 SystemInit()函数学习总结

拿到程序后如何看系统时钟?User文件夹——system_stm32f4xx程序,先找systemcoreclock(系统时钟)但是这里这么多个系统时钟应该如何选择?点击魔法棒,然后点击C/C可以看到define的是F40_41XXX.USE这一款 ,对应着就找出了…

虹科新品 | 最高80W!用于大基板紫外曝光系统的高功率UVLED光源

光刻曝光是指利用紫外光源将胶片或其他透明物体上的图像信息转移到涂有光敏材料(光刻胶)表面以得到高精度和极细微图案的一种制作工艺,主要用于半导体生产、高精密集成电路、PCB板制造、MEMS等行业。光刻技术是半导体工业和集成电路是最为核心…

SAP FICO 理解业务范围的概念

业务范围 以前转载过几篇关于业务范围的文章: SAP Business Area 业务范围_SAP剑客的博客-CSDN博客_sap 业务范围 SAP FI 系列 002:业务范围派生_stone0823的博客-CSDN博客_sap 业务范围 http://blog.sina.com.cn/s/blog_3f2c03e30102w9yz.html 仍是…

修改redis的配置文件使得windows的图形界面客户端可以连接redis服务器

一、redis自带的客户端(了解,不方便)进入到redis安装目录的bin目录下指定主机和端口# ./redis-cli -h 127.0.0.1 -p 6379127.0.0.1:6379> exit 【退出】-h:redis服务器的ip地址-p:redis实例的端口号如果不指定主机和…

Dropout

目录一、Dropout出现的原因二、什么是Dropout?三、为什么Dropout解决过拟合?3.1 取平均的作用3.2 减少神经元间复杂的共适应关系四、实现Dropout—— pytorchexample 1example 2example 3设置dropout参数技巧一、Dropout出现的原因 在机器学习的模型中 如果模型的…

“终于懂了” 系列:组件化框架 ARouter 完全解析(三)AGP/Transform/ASM—动态代码注入

ARouter系列文章: “终于懂了” 系列:组件化框架 ARouter 完全解析(一)原理全解 “终于懂了” 系列:组件化框架 ARouter 完全解析(二)APT—帮助类生成 “终于懂了” 系列:组件化框架…

拼多多出评软件工具榜单助手使用教程

软件使用教程下载软件前,关闭电脑的防火墙,退出所有杀毒软件,防止刷单软件被误删桌面建立一个文件夹,下载下来的安装包放进去,解压到当前文件夹,使用过程中别打开防火墙、杀毒软件。打开软件后,…

计算机系统基础知识

计算机的基本组成 计算机组成逻辑图 计算机部件作用 一级部件作用 运算器:计算机的执行部件,受控制器控制,执行算术运算或逻辑运算控制器:决定计算机运行过程的自动化。不仅能保证程序指令的正确执行,还能处理异常事…