网购|一文读懂Java EE相关技术

网购|一文读懂Java EE相关技术

文章图片


很多初学者开始接触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则是不同类型的文章 。 会写汉字 , 并不代表会写论文、公文 。 而会写论文也不代表会写公文 。