【我的2022下半年回顾-2】- Java EE - 概览
前言
2022过去了,迎来崭新的一年,在过去的半年里,我不仅在课内,还在课外通过各种方式了解和学习到了不少新的语言、框架、技术等等。平时急于产出和学习,没能好好的整理所学,遂在这个寒假,从这篇文章开始,以一系列文章作为对这段时间所学所作进行一个系统性回顾整理的过程,希望给自己查漏补缺,并能给一些正在或将要学习其中某些内容的朋友们一点启发。
JavaEE这个系列,将分别主要介绍 Java EE 8各方面的技术规范,并实战演练。
这篇文章,将介绍java ee 的基本概念。
导航
发文顺序从上到下,顺序大致按我接触它们的时间点排的,可能个别文章会提早或延后
- Springboot
- Java EE【√】
- Java EE 概览【√】
- Java servlet
- JSF(Java Server Faces)
- REST(Restful Web Services API)
- WebSocket
- Web Security
- Global Components and asynchronous
- EJB(Enterprise Java Bean)
- JPA(Java Persistence API)
- 网络安全框架 (Java)
- Spring Security
- Sa-Token
- Vue.js
- Web UI
- Mybatis
- Auto.js
- 浏览器3D引擎(轻量级): Three.js
- Uniapp / Unicloud 开发
- 微信小程序开发
- 前端深度学习引擎: Tensorflow.js
- 其他
- 利用Git管理源代码
- 利用maven管理java项目
- 利用npm管理项目
- Node.js配置和管理
- Sqlite: 内存中的轻数据库
- 软件过程和项目管理浅谈
- 打造自己的前端组件库
- 软件测试工具
- 文档撰写利器
正文
Java EE 是什么
Java EE (Java Platform, Enterprise Edition)是Java企业级应用开发的一种技术规范标准,是Java社区驱动的企业软件标准,提供了一个企业软件平台,为发开和运行企业应用提供稳定的api,运行环境,和符合Java EE规范的多种架构实现方案。
Java EE 的历史
version | publish date | Java SE support | features |
---|---|---|---|
J2EE 1.2 | 1999-12 | J2SE 1,2 | first version |
J2EE 1.3 | 2001-09 | J2SE 1,3 | java 连接器架构 |
J2EE 1.4 | 2003-11 | J2SE 1,4 | Web Service 互操作 |
Java EE 5 | 2006-05 | Java SE 5 | Java 标注 |
Java EE 6 | 2009-12 | Java SE 6 | CDI managed bean 和 REST |
Java EE 7 | 2013-05 | Java SE 7 | WebSocket, JSON 和 HTML5 |
Java EE 8 | 2017-08 | Java SE 8 | HTTP/2, 基于CDI的安全 |
Jakarta EE 8 | 2019-09 | Java SE 8 | 兼容java EE 8 |
Jakarta EE 9 | 2020-12 | Java SE 8 | javax 改 jakarta |
Jakarta EE 9.1 | 2021-05 | Java SE 8/11 | 支持JDK11 |
Jakarta EE 10 | 2022-09 | Java SE 8/11 | 多种API现代化, 编程简化 和 轻量级 |
Java EE 架构技术
三层架构:
- 表示层-Web容器(Web Layer)
- Web组件和Web服务器之间的接口
- 负责管理组件的生命周期
- 将请求分发给应用组件,提供访问上下文的接口
- 业务层(EJB Layer)
- 提供对 Enterprise Beans 的管理
- 处理业务逻辑
- 接收并响应Web视图的请求
- 数据层(Entity Layer)
- 勾连数据库
- 与业务层交互
Java EE Web 接口
- Servlet:响应服务端的请求
- JSP:HTML中嵌入Java代码片,编译为servlet
- JSF:JSP plus,提供了独立的UI界面和组件
- WebService: SOAP, REST等
- WebSocket:服务端主动向客户端推送消息,实时通信
Java EE 业务功能
- Stateful Session Bean(有状态会话Bean)
- Stateless Session Bean(无状态会话Bean)
- Singleton Session Bean(单例会话Bean)
- Message Driven Bean(消息驱动Bean)
Java EE 数据访问
- Java Persistence API(JPA):定义“对象-关系”映射的API
- JDBC API:传统方式,直接访问数据库
- Java Transaction API:Java事务,多活动合并为一个原子操作
Java EE 与其他系统交互
- Java Web Service Apis:前后端分离、多系统松耦合交互等
- Java Message Service(JMS):异步消息交换
- Java EE Connector Architecture(JCA):企业应用集成
Java EE 程序模块化
借助依赖注入框架的方式实现软件的模块化
- @EJB
- @Inject
- @Context
…
Java EE 打包与发布
- Web组件打包
- Enterprise Beans打包
- 整个应用打包
- War
- Jar
Java EE 平台
- Java EE Compatibility
- Jakarta EE Compatible Products