【JavaEE基础学习打卡02】是时候了解Java EE了!

news2024/11/26 0:41:23

目录

  • 前言
  • 一、为什么要学习Java EE
  • 二、Java EE规范介绍
    • 1.什么是规范?
    • 2.什么是Java EE规范?
    • 3.Java EE版本
  • 三、Java EE应用程序模型
    • 1.模型前置说明
    • 2.模型具体说明
  • 总结


前言

📜 本系列教程适用于 Java Web 初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不放弃。坚信量最终引发质变,厚积薄发。
🚀 文中白话居多,尽量以小白视角呈现,帮助大家快速入门。
🎅 我是 蜗牛老师,之前网名是 Ongoing蜗牛,人如其名,干啥都慢,所以更新也慢。希望大家多多支持,让我动力十足!

本文就是大致了解一下 Java EE,开始说明我们为什么要学习 Java EE,有必要吗?然后是介绍了 Java EE 规范,规范是什么?Java EE 规范又是什么?了解 Java EE 规范各版本情况,了解即可,学习了一些规范后我们可以再回过来看各版本的技术变化。最后是简单介绍了 Java EE 应用程序模型,主要是为了对今后 Java Web 应用程序开发结构做铺垫,提前了解。


一、为什么要学习Java EE

为什么要学习 Java EE,其实可以从上一篇文章中知晓答案。目前大部分人员学习 Java 编程语言,今后的目标之一就是 Web 方向,也就是进行 Java Web 开发(浏览器入口中大千世界的开发)。那么 Java Web 应用程序是属于 B/S 架构的,B/S 架构有很多优势,相信大家也都了解。Java EE 是实现 Java Web 应用程序的基础技术,换句话说,Java EE 是 Java 解决 Web 互联网领域的技术。

现在技术发展十分迅速,Java 语言相关的优秀 Web 框架层出不穷,简化开发流程,降低开发难度。我们应该跳过基础直接上手框架?我个人觉得不应该。我们要知道,框架就是定义一套开发流程,我们按照约定即可实现相应功能。它帮我们完成了一些基础工作,让我们更好的将精力放在业务上。问题是,这样的我们只是会使用而已。而 Java Web 框架大都是基于 Java EE 平台的,所以学习 Java EE 没毛病。

学习任何知识之前,搞清楚为什么要学是很重要的,带着一定目的更有效率。

二、Java EE规范介绍

Java EE 官方自我描述

Java Platform, Enterprise Edition (Java EE) 是社区驱动的企业软件标准。Java EE 是利用 Java Community Process 开发的,业界专家、商业组织和开源组织、Java 用户组以及数不清的个人为此做出了巨大贡献。每个版本都集成了符合业界需求的新特性,提高了应用可移植性,提高了开发人员的工作效率。

在其自我描述中看到 Java EE 是社区推动的企业软件标准,也就是说 Java EE 不是一个人或一个公司制订出来的。企业软件标准,是说 Java EE 是 Java 语言实现企业软件的标准或规范。所以本文出现了 Java EE 规范这个词。

1.什么是规范?

规范: 是指明文规定或约定俗成的标准。比如道德规范、技术规范等。它是对我们的操作、言行等等进行定性的规定。

大家有听过一句话吗?

“一流企业做标准、二流企业做品牌、三流企业做产品!”

  • 三流企业做产品:
    • 三流的企业主要关注产品本身的质量和功能,通过提供性价比较高的产品来吸引消费者的购买。这种企业在市场上的表现比较依赖于价格和促销策略,很难在市场上建立稳定的品牌形象和忠诚度。这种企业通常具有较为传统的生产和管理方式,缺乏创新和差异化的竞争优势。
    • 从三流到一流也是需要一个成长过程,如果他们不止做产品生产,还十分注重技术核心,那么三流企业也是可能成为一流企业的。
  • 二流企业做品牌:
    • 二流的企业注重品牌的建设和推广,通过良好的品牌形象来吸引消费者的关注和认可。这种企业在市场上的表现可能不如一流企业稳定和持久,但是通过品牌的力量可以迅速提升企业的知名度和美誉度,进而扩大市场份额。这种企业通常具有较强的市场营销能力和创新意识,能够不断推陈出新,满足消费者的需求。
    • 例如苹果、麦当劳、百事等品牌公司!一件商品贴上某个品牌,可能价值差别会十倍、百倍、千倍。那么为什么大家相信品牌?为什么能赢得大众的信任?最终是谁将它提升到一个很高的地位?看到这个品牌就有一种质量好的感觉,这是基于大众的感受。我认为品牌公司也是经历了三流公司的严峻考验,赢得了消费者的青睐。
  • 一流企业做标准:
    • 一流的企业不仅仅是提供产品或服务,更是为整个行业的发展和规范制定标准。这种企业在行业中的地位非常重要,因为它们所制定的标准被广泛认可和采用,从而引领整个行业的发展方向。这种企业通常具有强大的技术实力和资源优势,能够影响整个行业的规则和格局。
    • 如今我们的操作系统大多数是微软的,手机系统,绝大是安卓的,我们安装软件或者制作软件的时候都必须遵守兼容他们系统的标准,不然软件不兼容,不会有人去买你的软件。一个产品由品牌做到成为一种规范,一种他能让你离不开,脱不掉,随处可见,满眼都是,这是多么强大的力量,制定游戏规则的公司才是最强大的公司,其实这过程也是一层层不断抽象的过程,这时最具体的产品就显得一般了。

我们国家的企业在这方面也是紧追猛赶,像华为公司,通过技术积累、突破,已经在5G技术上掌握话语权,它就是制定标准、规范的人。我们国家的高铁技术更加不用说了,这项标准早已名扬海外了。

我们国家在IT技术方面呢?虽然达不到制定标准的高度,但是由于中国各方面的优势,中国的IT技术发展是非常迅猛的。很多技术制定和优化我们都进行了参与。360安全方面很厉害,在一些国际赛事上都荣获很多大奖。阿里巴巴、百度、腾讯都有自己的技术输出。

2.什么是Java EE规范?

先引用 Java EE 官方自我描述

Java Platform, Enterprise Edition (Java EE) 是社区驱动的企业软件标准。Java EE 是利用 Java Community Process 开发的,业界专家、商业组织和开源组织、Java 用户组以及数不清的个人为此做出了巨大贡献。每个版本都集成了符合业界需求的新特性,提高了应用可移植性,提高了开发人员的工作效率。

Java EE 是 Java 企业版本的简称,是 Sun 公司推出的企业级应用程序版本,目前被 Oracle 公司收购接管。是社区驱动的企业软件标准,但明显是归 Oracle 公司的。Oracle 公司下面有很多产品,比如我们熟悉的 Java、Oracle 数据库,MySQL 数据库等。

我们要注意:Java EE 既不是一门编程语言,也不是一个现成的产品,而是一个标准,是一个为企业分布式应用的开发提供的一套规范和标准的平台,借助 Java 平台企业版(Java EE)帮助企业开发和部署可移植、健壮、可伸缩且安全的服务器端 Java应用程序。

Java EE 就是规定了企业分布式应用开发的一些标准,如果我们开发服务器端 Java 应用程序就需要遵守 Java EE 规范。

3.Java EE版本

接下来我们来了解 Java EE 有哪些版本,各版本的技术特点。大致了解即可,学习相关知识后可以回头看,更有感觉。

以下是 Java EE(Java Platform, Enterprise Edition)各个版本的发布时间和主要内容的简要总结:

  1. Java EE 1.0(1999年12月)

    • EJB(Enterprise JavaBeans)规范
    • JNDI(Java Naming and Directory Interface)
    • JMS(Java Message Service)
  2. Java EE 1.2(2000年12月)

    • Servlet API的改进
    • JavaServer Pages(JSP)技术
    • JTA(Java Transaction API)
    • JTS(Java Transaction Service)
  3. Java EE 1.3(2001年9月)

    • J2EE Connector Architecture
    • Java Message Service(JMS)的增强
  4. Java EE 1.4(2003年11月)

    • JSF(JavaServer Faces)
    • JSTL (JSP Standard Tag Library)
    • JavaMail API
    • Web 服务支持(JAX-RPC)
    • Web 服务元数据(JAXR)
  5. Java EE 5(2006年5月)

    • EJB 3.0 规范,引入注解驱动(Annotation-driven)开发
    • Java Persistence API(JPA)
    • Web 服务开发的改进
  6. Java EE 6(2009年12月)

    • Web Profile 的引入,以简化 Web 应用程序开发
    • Servlet 3.0 规范
    • CDI(Contexts and Dependency Injection)
    • JavaServer Faces(JSF)2.0 规范
  7. Java EE 7(2013年6月)

    • WebSocket API
    • JSON 支持
    • Batch 应用程序处理
    • Concurrency Utilities(Java EE Concurrency Utilities)
    • JAX-RS 2.0(Java API for RESTful Web Services)
  8. Java EE 8(2017年9月)

    • Servlet 4.0 规范
    • JSF 2.3 规范
    • JSON-B(Java API for JSON Binding)
    • JSON-P(Java API for JSON Processing)

从 Java EE 8 发布以后,Java EE 被重命名为 Jakarta EE,并且版权转移到了 Eclipse Foundation。

我们可以看到 Java EE 的版本并没有 Java SE 版本发布频率快,目前 Java EE 最新版本是Java EE 8。这可能与 Java EE 的设计目标有关。Java EE 旨在为企业级应用程序提供一个可扩展、灵活且可靠的平台,因此它需要更多的时间来开发和测试新功能,而且标准的制定更加困难。

三、Java EE应用程序模型

1.模型前置说明

Java EE 应用程序模型是基于Java 编程语言和 Java 虚拟机。它们提供的经过验证的可移植性、安全性和开发人员工作效率构成了应用程序模型的基础。此类应用程序本质上很复杂,可能会从各种数据源访问数据并将应用程序分发到各种客户端。比如从文件中获取数据展示在页面,再比如从 Oracle 或 MySQL 数据库中获取数据展示在小程序中。那么为了更好地控制和管理这些应用程序,支持这些不同用户的业务功能在中间层执行。中间层表示由企业的信息技术部门密切控制的环境。中间层通常在专用服务器硬件上运行,可以访问企业的全部服务。也就是说这个中间层是数据源和展示地的连接,其实也就是我们开发的应用程序。

Java EE 应用程序模型定义了一种体系结构,用于将服务实现为多层应用程序,这些应用程序提供企业级应用程序所需的可伸缩性、可访问性和可管理性。此模型将实现多层服务所需的工作划分为以下部分:

  • 开发人员要实现的业务和表示逻辑
  • Java EE 平台提供的标准系统服务

开发人员可以依靠该平台为开发多层服务的硬系统级问题提供解决方案。

2.模型具体说明

接下来上官方图:多层应用程序

在这里插入图片描述

这张图,我们不必深究,也不要害怕看不懂。

图中很明显分为上、中、下三大块,首先我们分别来看:

在这里插入图片描述

最上面这部分是客户端层(Client Tier),该层很明显就是用户端,比如(应用客户端)Application Client、网页(Web Pages)。该部分是运行在客户端计算机上的,比如某直播软件在我们电脑上运行,比如通过 Web 浏览器查看的某网站页面。

在这里插入图片描述

中间这部分是 Web 层(Web Tier)和业务层(Business Tier),由 Java EE 提供服务。比如 Web 层中的 JavaServer Faces Pages 技术,业务层中 Enterperise Beans 技术。简单理解就是在业务层实现功能的业务逻辑,Web 层是将组织数据如何进行展示。比如我们从数据库中拿到张三的详细信息,那么取数据,处理数据就可以在业务层实现,将这些分散的数据发送到适合的页面进行展示,就是在 Web 层实现的。

在这里插入图片描述

最下面这部分是企业信息系统 (EIS) 层,简单说就是数据库服务,主要提供了数据的存储、查询等等。

再看整个流程,用户在客户端的请求是经过了 Web 层和业务层处理的,处理的数据是在 EIS 层。往我们日常上网偏一偏,就是通过浏览器打开某个网站,会看到一个页面,其实这个页面的数据是存储在数据库中的,还是张三的信息:姓名、性别、年龄等,这些原始数据在业务层查询出来,并做处理,比如根据年龄可知张三是个青年人,然后在 Web 层将这个处理的结果发给响应的页面进行渲染,返回给客户端浏览器进行展示。举例可能不适合,没关系,我们了解有这样一个模型就可以了。


总结

为什么学习Java EE? 打基础。

规范: 是指明文规定或约定俗成的标准。比如道德规范、技术规范等。它是对我们的操作、言行等等进行定性的规定。

Java Platform, Enterprise Edition (Java EE) 是社区驱动的企业软件标准。既不是一门编程语言,也不是一个现成的产品,而是一个标准,是一个为企业分布式应用的开发提供的一套规范和标准的平台,借助 Java 平台企业版(Java EE)帮助企业开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。

Java EE 版本 从1.0开始到目前的8.0

Java EE 应用程序模型 是基于Java 编程语言和 Java 虚拟机。

  • 客户端层组件在客户端计算机上运行。
  • Web 层组件在 Java EE 服务器上运行。
  • 业务层组件在 Java EE 服务器上运行。
  • 企业信息系统 (EIS) 层软件在 EIS 上运行 服务器。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

断点续传的未来发展趋势与前景展望

断点续传是一种在网络传输中断后,能够从中断的位置继续传输的技术。它可以有效地避免因为网络不稳定、服务器故障、用户操作等原因导致的传输失败,节省了用户的时间和流量,提高了传输的效率和可靠性。断点续传在很多场景中都有广泛的应用&…

DEWDROP65 DM蓝牙5.2双模热插拔PCB

键盘使用说明索引(均为出厂默认值) 软件支持(驱动的详细使用帮助)一些常见问题解答(FAQ)首次使用步骤蓝牙配对规则(重要)蓝牙和USB切换键盘默认层默认触发层0的FN键配置的功能默认功…

【Linux】Shell脚本之流程控制语句 if判断、for循环、while循环、case循环判断 + 实战详解[⭐建议收藏!!⭐]

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

什么是BP反向传播算法

什么是BP反向传播算法 神经网络是个好工具,但就像有的刀削铁如泥,有的却只能拿来切豆腐。 真正决定神经网络好不好用的是神经元之间连接的权重和神经元的阈值。 如何确定这些数字,大部分时间我们都在使用反向传播,也就是常说的B…

nginx 基础

巩固基础,砥砺前行 。 只有不断重复,才能做到超越自己。 能坚持把简单的事情做到极致,也是不容易的。 nginx简易 #配置负载均衡 upstream myaaa {server localhost:8089;server localhost:8099;}server {listen 8085;server_name lo…

WebRTC | SDP详解

目录 一、SDP标准规范 1. SDP结构 2. SDP内容及type类型 二、WebRTC中的SDP结构 1. 媒体信息描述 (1)SDP中媒体信息格式 i. “artpmap”属性 ii. “afmtp”属性 (2)SSRC与CNAME (3)举个例子 &…

JVM---理解jvm之对象已死怎么判断?

目录 引用计数算法 什么是引用 可达性分析算法(用的最多的) 引用计数算法 定义:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一&#xff1…

七夕送礼送什么?数码爱好者送什么礼物?这几件贴心实用又有心意

​在这个数字化的时代,数码产品成为了我们日常生活中必不可少的一部分。而在七夕这个特别的日子里,送上一份数码产品礼物,不仅可以让你的另一半感受到你的用心和关爱,还可以让他/她感受到科技带来的便捷和乐趣。 推荐一&#xff…

贝锐蒲公英:助力企业打造稳定高效的智能安防监控网络

随着技术的快速发展和物联网的普及,企业面临着许多安全威胁和风险,如盗窃、入侵、信息泄露等,企业需要建立安防监控系统来保护其资产、员工和业务运营的安全。 然而,企业在搭建安防监控系统的过程中,可能会面临一些难…

无涯教程-Perl - setnetent函数

描述 该函数应在第一次调用getnetent之前调用。 STAYOPEN参数是可选的,在大多数系统上未使用。当getnetent()从网络数据库的下一行检索信息时,setnetent会将枚举设置(或重置)为主机条目集的开头。 语法 以下是此函数的简单语法- setnetent STAYOPEN返回值 此函数不返回任何…

smardaten实战丨谁说无代码不能开发出漂亮的门户首页?

一、需求背景 门户首页对于一个公司或组织来说是一个极其重要的网站页面,它可以作为访问者了解和获取相关信息的入口,同时也是展示品牌形象和吸引目标受众的重要工具。 开发一个门户首页需要开发团队在向访问者展示关于公司或组织基本信息的基础上&…

CentOS7最小化安装使用KVM虚拟化

说明:本文初衷在于记录一次实战经验,以便后续参考,不具有任何权威作用,如若对你有帮助深感荣幸! 一、环境安装 CentOS Linux release 7.9.2009 (Core)【不带GUI】Xshell 6Xmanager 6 # 执行 export DISPLAY客户端机器…

onnx onnxruntime onnxruntime-gpu

一、onnx简介 在训练模型时可以使用很多不同的框架,比如 Pytorch, TensorFLow, MXNet,以及深度学习最开始流行的 Caffe 等等,这样不同的训练框架就导致了产生不同的模型结果包,在模型进行部署推理时就需要不…

比较不同类型的隔离接口 IC:光耦合器与数字隔离器

隔离接口IC在确保各种电子系统中的信号完整性和安全性方面发挥着至关重要的作用。在不同类型的隔离接口IC中,光耦合器和数字隔离器是两种流行的选择。在本文中,我们将比较这两类隔离接口IC,探讨它们的工作原理、优点和应用。 工作原理&#x…

MODIS数据的查找与下载

记录一下自己下载 MODIS 时用过的网站。 1、LAADS DAAC 网址:Find Data - LAADS DAAC (nasa.gov) LAADS DAAC 的全称是 Level-1 and Atmosphere Archive & Distribution System Distributed Active Archive Center,专注于部分地球科学数据的集成&a…

浅谈SMT行业MES系统生产管理的特点

一、SMT生产车间在电子制造中起重要作用的部分,主要具备以下生产特点: 1.高密度和高速度: SMT生产车间中的电子元器件一般来说较为精小,且被紧密地排列在PCB上。这就要求SMT生产车间的机械设备具备高精度和高速度,确保…

生活中那些六 “有” 的人

1、有承诺 一些事情开始的时候总会有些协议与约定,我们称其为承诺;我们必须遵守承诺,即使是约会也要遵守,也不能迟到;迟到这件事不但会妨碍我们所有人,还意味着迟到者不尊重大家的时间。这种约定从某种意义…

SQLSERVER 查询语句加with (NOLOCK) 报ORDER BY 报错 除非另外还指定了 TOP、OFFSET 或 FOR XML

最近有一个项目在客户使用时发现死锁问题,用的数据库是SQLSERVER ,死锁的原因是有的客户经常去点报表,报表查询时间又慢,然后又有人在做单导致了死锁,然后主管要我们用SQLSERVER查询时要加with (NOLOCK),但是我在加完 …

ant design vue 级联选择器(省市二级联动)

一、效果图 二、代码块 <a-cascader v-model:value"value" :options"options"/>data () {return {value:,options:[{"value": "北京市","label": "北京市","children": [{"value": &qu…

人工智能:人脸识别技术应用场景介绍

目录 人脸识别介绍 什么是人脸识别技术 人脸识别的流程 1、场景分类 2、认证对比 3、金融领保险应用 3.1 金融行业 3.2 保险行业 4、安防交通领域 4.1 公园景点人脸识别闸机 4.2 高铁站进站人脸识别闸机 5、警务领域 5.1 抓拍交通违法 人脸识别介绍 什么是人脸识别技术 人脸识别…