目录
Java EE是Java平台的企业级扩展,为企业级应用程序提供了一套规范和技术标准。它建立在Java SE(Java Platform Standard Edition)的基础之上,通过引入额外的API和服务,以支持开发、部署和管理大规模、复杂的企业级应用。

Java SE(Java Standard Edition):
Java EE(Java Enterprise Edition):
Java ME(Java Micro Edition):

Java EE的主要特性包括:
分布式计算: Java EE支持构建分布式应用程序,通过使用Enterprise JavaBeans(EJB)等组件模型,实现在不同计算节点上的组件交互。
事务管理: 通过Java Transaction API(JTA),Java EE提供了对分布式事务的支持,确保在复杂的业务流程中维持数据的一致性。
持久性: Java Persistence API(JPA)定义了对象与关系数据库之间的映射规范,简化了数据存储和检索的过程。
Web服务: Java EE包括对构建和消费Web服务的支持,使用JAX-RS和JAX-WS等API。
消息传递: 通过Java Message Service(JMS),Java EE允许应用程序在分布式环境中进行异步通信。
Web应用程序开发: Java EE提供了Servlets和JavaServer Pages(JSP)等技术,用于构建可扩展的Web应用程序。
安全性: Java EE定义了一套安全标准,包括身份验证、授权和加密,以确保企业级应用程序的安全性。
管理和部署: Java EE提供了用于管理和部署应用程序的工具和API,使得企业能够有效地管理其应用程序的生命周期。
总体而言,Java EE为企业级应用程序提供了一种规范化的、可扩展的开发和运行环境,支持复杂业务需求和大规模部署。通过遵循Java EE的规范,开发人员可以确保其应用程序在不同的Java EE兼容平台上运行,并利用企业级功能和服务。
初期整合:
Java EE最初是作为Java的企业扩展部分,被整合到核心JDK("核心JDK"通常指的是Java SE(Java Standard Edition))中。这个时期的Java主要关注桌面应用程序和小型应用的开发。J2EE时期(Java 2 Platform Enterprise Edition):
在1999年,Java EE被分离成Java 2的一部分,被称为J2EE。这一版本引入了一系列的企业级规范和技术,支持分布式计算、事务管理、消息队列等。Java EE时期:
到了2006年,Sun Microsystems(Java的创始公司)决定将J2EE重命名为Java EE,以反映它的企业级应用开发重点。这一时期见证了Java EE规范的不断完善和新功能的引入,以满足不断增长的企业级应用需求。Java EE向Jakarta EE过渡:
在2017年,由于Oracle将Java EE捐赠给Eclipse基金会,Java EE面临了一个新的阶段。为了摆脱商业品牌的约束,Eclipse基金会组织了一次命名投票,结果是Jakarta EE。这标志着Java EE的开源社区接管,并且不再使用商标受限的Java EE名称。Jakarta EE:
Jakarta EE是Java EE的继任者,继续提供一套用于企业级应用程序开发的规范。这一时期的发展主要由Eclipse基金会牵头,致力于在开源社区的支持下推动Java企业级技术的演进。Jakarta EE的版本更新和改进仍然遵循Java EE的传统,但有了更加开放和社区驱动的发展模式。总体而言,Java EE和Jakarta EE的发展历程代表了Java在企业级应用领域的不断演进和创新,以适应不断变化的技术和市场需求。这一演进过程中的每个阶段都带来了新的特性、改进和开发者社区的参与。
JavaEE的前世今生:Jakarta EE 的前世今生 - MyBatis中文官网
Java EE 最主要的应用领域之一还是 Web 开发。Java EE 提供了一系列的规范和 API,使得开发者能够构建强大、可扩展、安全的企业级 Web 应用程序。

Web 开发是指构建和维护能够通过互联网(全球广域网,也称为万维网)访问的应用程序和网站的过程。这些应用程序和网站可以通过各种设备的浏览器访问,如电脑、平板电脑和手机。Web 开发涉及多种技术和层面,通常包括以下几个方面:
前端开发(Front-end Development):
后端开发(Back-end Development):
数据库管理:
Web 服务器:
网络安全:
版本控制系统:
Web 开发是一个涉及多个技术领域的复杂过程,需要前后端协同工作,以创建功能强大、用户友好的 Web 应用程序。
当前,用户在PC端应用开发方面主要采用两种结构模式,即C/S(Client/Server)和B/S(Browser/Server)结构。
C/S架构,即客户端/服务器结构,常见于应用如QQ、CCTALK以及各类网络游戏等。这类应用通常需要用户在本地安装专用客户端,并与服务器进行直接的网络通信。
另一方面,B/S架构,即浏览器/服务器结构,包括Web浏览器、服务器程序和数据库服务三个部分。相较于C/S架构,B/S架构是对其一种改进,其核心业务逻辑由服务器程序处理,使得用户只需通过浏览器完成所有操作,从而显著降低了客户端的维护成本。
这种结构模式适用于对客户端要求不高,且希望减轻客户端维护负担的应用场景,如Web应用和电子邮件服务等。选择合适的结构模式通常取决于应用程序的具体需求和特点。
具体来说,C/S(Client/Server)和 B/S(Browser/Server)是两种不同的应用程序架构模式,它们主要指导了应用程序的组织结构和用户交互方式。
C/S架构(Client/Server):
B/S架构(Browser/Server):
总体而言,C/S架构和B/S架构各有优劣,选择取决于应用程序的需求和特点。C/S架构适用于对性能和功能要求较高的应用,而B/S架构适用于对跨平台兼容性和维护成本有较高要求的应用。近年来,随着Web技术的发展,B/S架构在许多场景中得到了广泛应用。
| 架构 | 优点 | 缺点 |
|---|---|---|
| C/S |
|
|
| B/S |
|
|
我们以后的JavaEE项目应该大部分都是基于 B/S架构的……
典型的前后端分离的 Web 开发流程,可以简单概括为以下步骤:
通过浏览器访问前端程序: 用户通过浏览器访问前端程序,这可能是一个由 HTML、CSS、JavaScript 等构建的 Web 应用。
前端程序返回前端代码: 前端程序向浏览器返回相应的前端代码。这些代码包括用户界面的布局和交互逻辑,以及可能需要在后续步骤中向后端请求数据的代码。
前端程序调用后端程序获取数据: 如果前端程序需要与后端进行交互,例如获取动态数据或执行某些业务逻辑,它会发起对后端程序的请求。这通常通过 AJAX 请求或其他类似的技术来实现。
后端返回数据: 后端程序接收到前端的请求,处理请求并返回相应的数据。这可能涉及到与数据库的交互、业务逻辑的处理等。
前端根据后端数据进行页面渲染: 前端程序收到后端返回的数据后,根据数据进行页面的渲染。这可能包括更新页面上的内容、展示新数据、或执行其他与用户界面相关的操作。
整个过程中,前端负责用户界面的呈现和交互,而后端负责处理业务逻辑和数据存取。这种前后端分离的架构有利于代码的模块化和团队协作。

随着技术的发展,不论是后端还是前端开发,很少直接使用原生代码,而是采用各种开发框架。在后端开发中,常见的后端框架包括Spring、SpringBoot、Mybatis等,而前端则常用Vue、React、Angular等框架。这些框架都共享一个特点:简单且高效,显著提高了开发效率。
框架(Framework) 指的是一套预先编写好的代码,为开发者提供通用功能,用于解决特定问题的软件架构。框架包括库、工具集、编码规范等,旨在简化开发流程、提高效率。
应用领域: 后端框架用于服务器端应用程序的构建,而前端框架用于构建用户界面。
示例框架: 后端框架有Spring、SpringBoot、Mybatis,前端框架有Vue、React、Angular。
最早的“框架”一词源于建筑行业,指一个框子(约束性)和一个架子(支撑性)。在计算机领域,框架是一种基本概念上的结构,用于解决复杂问题,可看作为应用开发者定制的应用框架。
类比: 在盖房子中,框架就像一幢半成品的房子,你可以理解为⼀个毛坯房。 有了这个毛坯房之后,你就可以把它装修成自己想要的样子。没有这个毛坯房的话, 你就需要自己盖房子主体结构等。
简化开发: 提供通用解决方案,使开发者专注于业务逻辑,减少从零开始构建基本功能的工作。
提高效率: 提供开发过程中需要的工具和库,减少冗余代码的编写,提高开发效率。
约定优于配置: 遵循规范和约定,减少配置的繁琐性,提供一种一致和可预测的开发体验。
可扩展性: 支持插件和扩展,使开发者可以根据需求灵活地扩展框架的功能。
提高可维护性: 结构化的框架有助于代码的组织和维护,促进项目的可维护性和协作性。
在前端和后端开发中,不同的框架被设计用于不同的用途,例如前端框架(Vue、React、Angular)用于构建用户界面,而后端框架(Spring、Express、Django)则用于服务器端应用程序的构建。
在Java EE课程中,涉及了四个关键框架,分别是 Spring、Spring Boot、Spring MVC 和 Mybatis。这些框架在Java EE开发中扮演着不同的角色,提供了丰富的功能,使得企业级应用程序的开发更加高效和便捷。
Spring框架: 是一个综合性的企业级Java应用开发框架,提供了广泛的基础设施支持和丰富的功能集,包括IoC(控制反转)、AOP(面向切面编程)、事务管理等。
Spring Boot框架: 是在Spring基础上构建的快速开发框架,简化了Spring应用程序的搭建和配置,通过约定大于配置的原则,加速了应用程序的开发。
Spring MVC框架: 是Spring框架的一部分,提供了基于MVC(模型-视图-控制器)的Web应用程序开发支持。
Mybatis框架: 是一个持久层框架,用于简化数据库操作,通过XML或注解配置,将Java对象映射到数据库表。
Spring家族: Spring、Spring Boot、Spring MVC 三者相互关联,Spring为基础,Spring Boot简化配置,Spring MVC用于构建Web应用。
Mybatis与Spring的整合: Mybatis作为持久层框架,可以与Spring整合,通过Spring管理事务,简化数据库操作。
这些框架的综合使用使得Java EE开发更加高效、灵活,并提供了强大的功能和工具,适用于各种企业级应用的开发需求。