网易首页 > 网易号 > 正文 申请入驻

一文读懂Java EE相关技术

0
分享至

很多初学者开始接触Java EE的时候,都会略有些迷茫,搞不太懂Java EE与Java之间的关系,也不太清楚各个框架都是干嘛的,名词也多,内容也复杂,不知道从哪个地方开始入手。因此,我们这篇文章就为给大详细解读一下Java EE到底是什么,包括哪些方面,应该怎样学习。

一、Java EE到底是什么?

Java EE实际上是Java语言和API的集合。官方说法叫企业级开发,实际上最多的就是做Web应用开发,这里面的Web应用和单独一个网站还是有很大区别的,例如单独开发一个静态页面,很多工具很快就可以完成了。而Web应用,更多的是指在网络上,以看起来像网站形式提供服务的一个复杂应用。例如说Google,网页上看着非常简单,就一个框,实际上,后面有大量的数据库,有大量的推荐算法、查询算法,有广告推荐服务,有排名服务等等,可能这些服务,在网页上最终显示出来的就一句话,但是背后的业务程序却非常复杂。

像淘宝、京东这些购物网站的后台,都是Java写的。背后要处理的东西非常多。比如说下一个订单,就要考虑库存状态、订单的存储和备份、后台的订单处理、状态变更、出库入库、支付系统、结算系统、对账系统,等等。

而这么复杂的一个系统,Java EE把它分为三层,分别是表示层、中间层、数据层。C#中的三层分别是表示层,业务逻辑层、数据访问层,只是不一样的说法,但表达的是同一个意思。如下图所示:

所以对于一个简单的系统,比如说图书管理系统来说,按上图从左到右,就分成五个部分。

1、浏览器:负责输入要查询的图书,以及把查询的图书展示在浏览器里供人查看。

2、视图展示层:把浏览器里输入的内容包装一下,发给业务处理层。比如说浏览器里输入的是“红楼梦”,它输入给业务处理层的内容可能是{“bookname”:“红楼梦”,“type”:“Query”},告诉业务处理层,这人要查询一本叫红楼梦的书。同时业务处理层查完了,查到一本红楼梦,作者曹雪芹,朝代清朝,页数1563页,出版社清华大学出版社,返回给它之后,它再给包装一下,什么名字大写,图片放在右边,作者放下下面之类。然后给浏览器一显示,用户就看到了。

3、业务逻辑层:处理一下业务逻辑,比如说判断一下,前端传来是,是要查询,还是要删除这本书,或者是要查询相似的书,等等。要查询这本书,他就去查一下,看这本书库里有没有,给持久层一个查询指令。要删除这本书,他就先看一下,发请求的这个人有没有权限,这本书库里有没有,删除这本书这个事要不要记录在日志里等等,确定要删除了,就给持久层发一个删除这本书的指令,发现这个人不能删除这本书,就返回给视图展示层说警告,你的权限不足,删不了。

4、持久层:用来操作数据库的,把四面八方来的数据库增删改查指令都收集到它这里,一起处理,至于他是开一个数据库连接还是一百个连接查询,那就是他自己的事了。

5、数据库:那就老老实实执行,持久层给他什么指令他就干什么。

所以可以说,Java EE,就是实现上面这样的系统,需要的一系列技术的集合。

二、Java EE与Java语言之间的关系

Java EE是以Java语言为基础的,可以认为Java语言是汉字,而Java EE则是不同类型的文章。会写汉字,并不代表会写论文、公文。而会写论文也不代表会写公文。

三、Java EE包括哪些技术

通常来讲,Java EE包括13项核心技术。

1、JDBC(Java DataBase Connectivity):用来连数据库的。

2、JNDI(Java Naming and Directory Interfaces) :给当前服务器管理的所有资源一个统一的标识,换句话说通过这服务能找到服务器管理的任何资源并使用。比如说数据库、网页、文件、连接池等。

3、EJB(Enterprise JavaBean):实际给企业干活的组件,企业自己写完注册在服务器上,服务器给他一个统一的标识,就JNDI管那个,然后应用服务就可以调用了。在这里面,Java EE是提供了部署和使用这些组件的平台和标准。按这个标准写的组件就可以用了。

4、RMI (Remote Method Invoke):远程方法调用,它提供了一种方法,可以远程调用另一个Java虚拟机上的对象中的方法。

5、JSP(Java Server Pages):生成Html给浏览器展示用的。JSP页面由HTML代码和嵌入其中的Java代码组成。服务器在页面端所请求以后,对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

6、Java servlet:一种小型Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而Servlet全部由Java写成并生成HTML。

7、XML(Extensible Markup Language): 可扩展标记语言。大家都见过。

8、JMS(Java Message Service) :Java消息服务,消息中间件规范。JMS的客户端之间可以通过JMS服务进行异步的消息传输。JMS用于和面对面对消息的中间件相互通信的应用程序接口(API)。既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域。常用的消息中间件如ActiveMQ都支持完整的JMS标准。

9、Java IDL (Interface Description Language) /CORBA (Common Object Broke Architecture) Java:接口定义语言/公用对象请求代理程序体系结构。IDL是用来描述软件组件接口的一种计算机语言。IDL通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信交流。

10、JTS (Java Transaction Service) :是一个组件事务监视器。规定了事务管理器的实现方式。

JTS事务管理器为应用服务器,资源管理器,独立的应用以及通信资源管理器提供了事务服务。

11、JTA(Java Transaction API):和JTA一起为J2EE平台提供了分布式事务服务(distributed transaction)。就是在一堆业务和数据源里,保证了用户操作不会操作到一半出问题后半新半旧的情况,要么全操作完,要么操作失败回到原始状态。

12、JavaMail:顾名思义,存取邮件服务器的API,支持邮件发送服务器SMTP,接收服务器POP3、IMap等。但是其API不怎么好用,底层很强大。所以Spring提供了mail包,封闭了javax.mail,比原生的好用很多。

13、JAF (JavaBean Activation Framework):是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。JAF的主要作用在于让java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。就是那个大家经常见到的activation.jar。

四、各类框架与Java EE的关系

提到Java EE,就不得不提到各种轻量级框架,Java EE相关的框架又多又复杂,很多人搞不清楚都是干嘛的。但是其实很简单,Java EE提供的原生功能,很多都不怎么好用,所以程序员们,在基于原生功能基础上,做了很多封装,就是把原生的不怎么好用的功能包起来,用更人性的方式让你使用,然后它再费劲巴拉的去调用原生的框架或者拐个弯实现要用的功能。

1、表现层框架:表现层框架是用来替代JSP和Servlet的,主要有Struts1、Struts2和Spring MVC。说白了就是JSP和Servlet不太用户友好,用这两个框架帮忙给弄得用户友好些。目前Spring MVC已经成为了主流框架,Struts已经基本没什么人用了,而随着前后端分离的快速流行,Spring MVC提供接口,VUE/React等提供展现的开发模式已经越来越流行了。

2、持久层框架:用来代替原生JDBC,主要有Hibernate、MyBatis/Plus、Spring Data JPA等。他们能让操作数据库,数据库表与实体类的映射,数据库查询结果与前端的展现融合变得非常简单。而不是像JDBC返回一堆数据自己再处理。

3、全栈式框架:在三层结构的各个部分进行优化。主流即为Spring,以IOC(Inverse Of Control 反转控制)和AOP(Aspect Oriented Programming 面向切面编程)为内核,提供了表现层MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合众多著名的开源第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。换句话说,Java EE提供的三层功能,该框架及其容纳进来的各种类库都能给实现了,所以人们现在基本上都只用它。而Spring Boot是在Spring框架基础上,进行了进一步封装,变得更加好用了。总结起来,这些框架在Java EE三层结构中的代替关系如下图所示。

五、小结

综上所述,Java EE的整个技术栈,包括很多种内容,其中最为核心的,就是完全一个企业级应用所需要的展现、业务处理、和数据存储三层功能。而学习Java EE最基础的,是在了解其技术源流的基础上,学习一个能实现企业业务功能的最小技术集。

这个最小集在多年以前以SSH(Struts、Spring、Hibernate)较为流行,后来升级为Struts2,到后来Struts2渐渐被SpringMVC替换掉,变成了Spring + SpringMVC + Hibernate/ibatis架构。

之后Hibernate配置维护需要的人力成本大而慢慢被ibatis代替,后来MyBatis出现了,从iBatis到MyBatis,MyBatis提供了更为强大的功能,同时并没有损失其易用性,就变成为了Spring+SpringMVC+Mybatis,这是很多公司比较流行的框架。

目前,随着SpringBoot的流行,开始向SpringBoot+Mybatis/plus架构转变,而Spring Data Jpa,又在持久层逐渐占领Mybatis/plus的市场。同时随着微服务的流行,基于SpringBoot的SpringCloud微服务框架开始成为前沿框架。

总之,对于一名软件从业人员来说,要掌握一套完整的开发技术栈,然后不断地尝试新的前沿技术,从而使自己不被时代所淘汰。

喜欢本文的话,欢迎关注活在信息时代哦:)

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
汪文斌候任驻柬埔寨大使,超千万粉丝大V竟在9天前准确预言

汪文斌候任驻柬埔寨大使,超千万粉丝大V竟在9天前准确预言

不掉线电波
2024-06-04 21:14:54
中韩使馆同天互相表态,韩方仍在拿台湾说事,中方筹码韩国接不住

中韩使馆同天互相表态,韩方仍在拿台湾说事,中方筹码韩国接不住

王晋博士
2024-06-04 16:15:10
深圳城管拿水管喷水驱赶占道商贩? 当地回应:正核实

深圳城管拿水管喷水驱赶占道商贩? 当地回应:正核实

奔流新闻
2024-06-04 20:01:08
我老婆昨天被公司老板约谈了,我的心情很复杂,也非常忐忑。

我老婆昨天被公司老板约谈了,我的心情很复杂,也非常忐忑。

知秋侃史
2024-06-01 01:20:23
军火巨头纷纷入台,赖清德态度大变,下死命令,不愿再对大陆手软

军火巨头纷纷入台,赖清德态度大变,下死命令,不愿再对大陆手软

千里持剑
2024-06-04 15:29:05
71岁曾志伟参加小杨哥开业庆典!与乔妹贴身合影,一个动作引热议

71岁曾志伟参加小杨哥开业庆典!与乔妹贴身合影,一个动作引热议

快乐娱文
2024-06-04 09:05:17
广西梧州强降雨致民房被淹河水暴涨,当地应急管理局:受灾情况不能告诉你!

广西梧州强降雨致民房被淹河水暴涨,当地应急管理局:受灾情况不能告诉你!

奔流新闻
2024-06-04 19:40:28
都打到家门口了,你却问别人为什么而战

都打到家门口了,你却问别人为什么而战

顾礼先生
2024-06-04 15:47:37
俄乌决战哈尔科夫?车臣特种部队已转至该方向,拜登两个盟友均处于“关键转折点”

俄乌决战哈尔科夫?车臣特种部队已转至该方向,拜登两个盟友均处于“关键转折点”

红星新闻
2024-06-04 20:21:15
今年第30虎落马!任职地曾“倒查20年”

今年第30虎落马!任职地曾“倒查20年”

鲁中晨报
2024-06-04 17:19:04
中国26岁博士留学生拳击赛被打成植物人后续:多方拒绝担责

中国26岁博士留学生拳击赛被打成植物人后续:多方拒绝担责

金羊网
2024-06-04 12:01:09
香会对话最后一天,发生极其罕见一幕,主持人竟打断我方防长讲话

香会对话最后一天,发生极其罕见一幕,主持人竟打断我方防长讲话

三分亮剑
2024-06-03 11:12:51
被水冲走的两驴友遗体找到:水流没有冲散他俩,相隔不到1米远

被水冲走的两驴友遗体找到:水流没有冲散他俩,相隔不到1米远

糖逗在娱乐
2024-06-04 19:05:50
男子发现云台山瀑布源头是几根水管,评论区网友道出真相!

男子发现云台山瀑布源头是几根水管,评论区网友道出真相!

钱多多多多
2024-06-04 09:53:45
黄海波曲栅栅补办婚宴,老师黄磊致辞,赵宝刚奚美娟等出席

黄海波曲栅栅补办婚宴,老师黄磊致辞,赵宝刚奚美娟等出席

娱慧
2024-06-04 15:52:17
难怪女游客会落水,涨水前后对比照曝光,原来脚下根本不是岩石?

难怪女游客会落水,涨水前后对比照曝光,原来脚下根本不是岩石?

今日美食分享
2024-06-04 17:55:07
网传长春街头三胎宣传横幅:要想生活奔小康,三胎更比二胎强

网传长春街头三胎宣传横幅:要想生活奔小康,三胎更比二胎强

可达鸭面面观
2024-06-04 12:16:42
皇马欧冠英雄伤透了心,考虑离队:不满决赛遭弃用,未祝贺库瓦!

皇马欧冠英雄伤透了心,考虑离队:不满决赛遭弃用,未祝贺库瓦!

风过乡
2024-06-04 22:08:30
曝银行职员出轨按摩女!手机藏大量不雅照,交往一年为其花费14万

曝银行职员出轨按摩女!手机藏大量不雅照,交往一年为其花费14万

飘飘视角
2024-06-04 16:53:36
风云突变!上海楼市,开始掀桌子了!

风云突变!上海楼市,开始掀桌子了!

米筐投资
2024-06-04 07:31:01
2024-06-04 23:04:49
活在信息时代
活在信息时代
信息时代的技术与社会伦理
652文章数 779关注度
往期回顾 全部

科技要闻

斯坦福团队抄袭国产大模型后道歉 承诺撤下

头条要闻

履新两年后 "红都圣地"瑞金市委书记有新职务

头条要闻

履新两年后 "红都圣地"瑞金市委书记有新职务

体育要闻

一位糖尿病患者,和他的24年皇马梦

娱乐要闻

杨幂留言为热巴庆生,姐妹情深惹人羡

财经要闻

卷走53亿 浙江富豪全家跑路了

汽车要闻

2.0T+云辇-P+天神之眼 方程豹豹8还配软包内装

态度原创

艺术
健康
亲子
游戏
本地

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

晚餐不吃or吃七分饱,哪种更减肥?

亲子要闻

萌娃穿上爷爷买的裙裙,她觉得自己很漂亮吧!

LPL:deokdam艾希百步穿杨一发必中,FPX 2-1击败TT

本地新闻

我和我的家乡|踏浪营口,心动不止一夏!

无障碍浏览 进入关怀版