本系列教程适用于JavaWeb初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不放弃。坚信量最终引发质变,厚积薄发。
文中白话居多,尽量以小白视角呈现,帮助大家快速入门。
我是蜗牛老师,之前网名是Ongoing蜗牛,人如其名,干啥都慢,所以更新也慢。希望大家多多支持,让我动力十足!
本文就是大致了解一下 JavaEE,开始说明我们为什么要学习 JavaEE,有必要吗?然后是介绍了 JavaEE 规范,规范是什么?JavaEE 规范又是什么?了解 JavaEE 规范各版本情况,了解即可,学习了一些规范后我们可以再回过来看各版本的技术变化。最后是简单介绍了 JavaEE 应用程序模型,主要是为了对今后 JavaWeb 应用程序开发结构做铺垫,提前了解。
为什么要学习 JavaEE,其实可以从上一篇文章中知晓答案。目前大部分人员学习Java编程语言,今后的目标之一就是 Web 方向,也就是进行 JavaWeb 开发(浏览器入口中大千世界的开发)。那么 JavaWeb 应用程序是属于 B/S 架构的,B/S 架构有很多优势,相信大家也都了解。JavaEE 是实现 JavaWeb 应用程序的基础技术,换句话说,JavaEE 是 Java 解决 Web 互联网领域的技术。
现在技术发展十分迅速,Java 语言相关的优秀 Web 框架层出不穷,简化开发流程,降低开发难度。我们应该跳过基础直接上手框架?我个人觉得不应该。我们要知道,框架就是定义一套开发流程,我们按照约定即可实现相应功能。它帮我们完成了一些基础工作,让我们更好的将精力放在业务上。问题是,这样的我们只是会使用而已。而 JavaWeb 框架大都是基于 JavaEE 平台的,所以学习 JavaEE 没毛病。
学习任何知识之前,搞清楚为什么要学是很重要的,带着一定目的更有效率。
JavaEE 官方自我描述
Java Platform, Enterprise Edition (Java EE) 是社区驱动的企业软件标准。Java EE 是利用 Java Community Process 开发的,业界专家、商业组织和开源组织、Java 用户组以及数不清的个人为此做出了巨大贡献。每个版本都集成了符合业界需求的新特性,提高了应用可移植性,提高了开发人员的工作效率。
在其自我描述中看到 JavaEE 是社区推动的企业软件标准,也就是说 JavaEE 不是一个人或一个公司制订出来的。企业软件标准,是说 JavaEE 是 Java 语言实现企业软件的标准或规范。所以本文出现了 JavaEE 规范这个词。
规范: 是指明文规定或约定俗成的标准。比如道德规范、技术规范等。它是对我们的操作、言行等等进行定性的规定。
大家有听过一句话吗?
“一流企业做标准、二流企业做品牌、三流企业做产品!”
我们国家的企业在这方面也是紧追猛赶,像华为公司,通过技术积累、突破,已经在5G技术上掌握话语权,它就是制定标准、规范的人。我们国家的高铁技术更加不用说了,这项标准早已名扬海外了。
我们国家在IT技术方面呢?虽然达不到制定标准的高度,但是由于中国各方面的优势,中国的IT技术发展是非常迅猛的。很多技术制定和优化我们都进行了参与。360安全方面很厉害,在一些国际赛事上都荣获很多大奖。阿里巴巴、百度、腾讯都有自己的技术输出。
先引用JavaEE官方自我描述
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 规范。
接下来我们来了解 JavaEE 有哪些版本,各版本的技术特点。大致了解即可,学习后可以回头看,更有感觉。
以下是 Java EE(Java Platform, Enterprise Edition)各个版本的发布时间和主要内容的简要总结:
Java EE 1.0(1999年12月)
Java EE 1.2(2000年12月)
Java EE 1.3(2001年9月)
Java EE 1.4(2003年11月)
Java EE 5(2006年5月)
Java EE 6(2009年12月)
Java EE 7(2013年6月)
Java EE 8(2017年9月)
从 Java EE 8 发布以后,Java EE 被重命名为 Jakarta EE,并且版权转移到了 Eclipse Foundation。
我们可以看到 JavaEE 的版本并没有 JavaSE 版本发布频率快,目前 JavaEE 最新版本是JavaEE8。这可能与 Java EE 的设计目标有关。Java EE 旨在为企业级应用程序提供一个可扩展、灵活且可靠的平台,因此它需要更多的时间来开发和测试新功能,而且标准的制定更加困难。
Java EE 应用程序模型是基于Java 编程语言和 Java 虚拟机。它们提供的经过验证的可移植性、安全性和开发人员工作效率构成了应用程序模型的基础。此类应用程序本质上很复杂,可能会从各种数据源访问数据并将应用程序分发到各种客户端。比如从文件中获取数据展示在页面,再比如从 Oracle 或 MySQL 数据库中获取数据展示在小程序中。那么为了更好地控制和管理这些应用程序,支持这些不同用户的业务功能在中间层执行。中间层表示由企业的信息技术部门密切控制的环境。中间层通常在专用服务器硬件上运行,可以访问企业的全部服务。也就是说这个中间层是数据源和展示地的连接,其实也就是我们开发的应用程序。
Java EE 应用程序模型定义了一种体系结构,用于将服务实现为多层应用程序,这些应用程序提供企业级应用程序所需的可伸缩性、可访问性和可管理性。此模型将实现多层服务所需的工作划分为以下部分:
开发人员可以依靠该平台为开发多层服务的硬系统级问题提供解决方案。
这张图,我们不必深究,也不要害怕看不懂。
图中很明显分为上、中、下三大块,首先我们分别来看:
最上面这部分是客户端层(Client Tier),该层很明显就是用户端,比如(应用客户端)Application Client、网页(Web Pages)。该部分是运行在客户端计算机上的,比如某直播软件在我们电脑上运行,比如通过 Web 浏览器查看的某网站页面。
中间这部分是 Web 层(Web Tier)和业务层(Business Tier),由 JavaEE 提供服务。比如 Web 层中的 JavaServer Faces Pages 技术,业务层中 Enterperise Beans 技术。简单理解就是在业务层实现功能的业务逻辑,Web 层是将组织数据如何进行展示。比如我们从数据库中拿到张三的详细信息,那么取数据,处理数据就可以在业务层实现,将这些分散的数据发送到适合的页面进行展示,就是在 Web 层实现的。
最下面这部分是企业信息系统 (EIS) 层,简单说就是数据库服务,主要提供了数据的存储、查询等等。
再看整个流程,用户在客户端的请求是经过了 Web 层和业务层处理的,处理的数据是在 EIS 层。往我们日常上网偏一偏,就是通过浏览器打开某个网站,会看到一个页面,其实这个页面的数据是存储在数据库中的,还是张三的信息:姓名、性别、年龄等,这些原始数据在业务层查询出来,并做处理,比如根据年龄可知张三是个青年人,然后在 Web 层将这个处理的结果发给响应的页面进行渲染,返回给客户端浏览器进行展示。举例可能不适合,没关系,我们了解有这样一个模型就可以了。
为什么学习JavaEE? 打基础。
规范: 是指明文规定或约定俗成的标准。比如道德规范、技术规范等。它是对我们的操作、言行等等进行定性的规定。
Java Platform, Enterprise Edition (Java EE) 是社区驱动的企业软件标准。既不是一门编程语言,也不是一个现成的产品,而是一个标准,是一个为企业分布式应用的开发提供的一套规范和标准的平台,借助 Java 平台企业版(Java EE)帮助企业开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。
JavaEE版本 从1.0开始到目前的8.0
Java EE 应用程序模型 是基于Java 编程语言和 Java 虚拟机。