Java EE 概览
【我的2022下半年回顾-2】- Java EE - 概览
- 前言
- 导航
- 正文
- Java EE 是什么
- Java EE 的历史
- Java EE 架构技术
- Java EE Web 接口
- Java EE 业务功能
- Java EE 数据访问
- Java EE 与其他系统交互
- Java EE 程序模块化
- Java EE 打包与发布
- 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
后记
注释
Java EE 概览相关推荐
- java-ee-api_刷新器-Java EE 7概览
java-ee-api 随着红帽JBoss企业应用平台7(EAP 7)的迫在眉睫,甚至WebLogic Server刚刚获得Java EE 7认证,我认为现在应该是时候对Java Enterprise ...
- 复习者-Java EE 7概览
随着红帽JBoss企业应用平台7(EAP 7)的出现,甚至最近刚刚通过Java EE 7认证的WebLogic服务器,我认为现在应该为您重新介绍Java Enterprise Edition 7的时候 ...
- ejb+jpa_使用Arquillian(包括JPA,EJB,Bean验证和CDI)测试Java EE 6
ejb+jpa 很长时间以来,我听到很多人对Arquillian说好话 . 尽管我一直在阅读有关其用法的文章,但实际上我无法在一篇文章中找到涵盖我认为重要的某些方面的文章. 当然,我看起来还不够努力. ...
- java ee空指针_Java EE 7是最终版本。 思想,见解和进一步的指针。
java ee空指针 我们花了不到三年的时间才推出了下一个Java EE版本 . 今年4月16日, JCP EC对JSR 342进行了投票并获得批准. 这是一个成功的故事,因为在去年八月下旬的最后时刻 ...
- 使用Arquillian(包括JPA,EJB,Bean验证和CDI)测试Java EE 6
很长时间以来,我听到很多人对Arquillian说好话 . 虽然我一直在阅读有关其用法的文章,但实际上我无法在一篇文章中找到涵盖我认为重要的某些方面的文章. 当然,我看起来还不够努力. 我要讲的要点是 ...
- Java EE 7是最终版本。 思想,见解和进一步的指针。
我们花了不到三年的时间才推出了下一个Java EE版本 . 今年4月16日, JCP EC对JSR 342进行了投票并获得批准. 这是一个成功的故事,因为在去年八月下旬的最后时刻撤消了拥有云就绪平台的 ...
- Java EE学习心得
–Java EE学习心得 1. 称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...
- [JAVA EE] JPA技术基础:完成数据列表的删除
接上一篇:[JAVA EE] JPA技术基础:完成数据列表显示 本章完成数据列表的删除 修改 UserController.java package com.example.demo.controll ...
- [JAVA EE]Spring Boot 控制层:参数传递方法
项目需要参照本人java ee系列前文建立,请读者自行前往本人主页查看. 当然,您自己创建一个项目也是可以的. bean包下的Student.java package com.example.demo ...
最新文章
- linux source命令
- vuex的计算属性_Vuex详细介绍
- C++双冒号和单冒号的用法区别
- tornado学习笔记day01-高并发性能web框架
- legend位置 pyecharts_Echarts 饼图 图例修改,legend样式修改
- shell调用hive客户端导致nohup后台进程stopped
- 火狐浏览器插件大全,火狐插件大全,firefox插件使用方法
- SSD 超详细入门(代码+原文)
- 战略参股奥迪威,德赛西威“躬身入局”超声波雷达
- 数据挖掘05-偏相关分析【原理、案例、python实现】
- 盘古:阿里云飞天分布式存储系统设计深度解析
- 【备忘】大数据最火爆技术spark之王家林2016最新高清视频教程
- tftpd32更新内核文件
- 目标检测模型---SSD
- Python数据加密与解密相关操作(hashlib、hmac、random、base64、pycrypto)
- 压缩包安装fitter库,gbk编码错误解决方法
- x265代码解读博客合集
- Powershell批量解锁被锁定的AD账号
- 云栖科技评论第76期:车用半导体混战 中国怎么战?
- 数据分析与数据仓库平台Panoply.io获700万美元A轮融资