也许你学习了那么久的Java了,但如果有人问你什么是JavaEE?你会怎么回答他呢?在此我来谈谈关于JavaEE的相关技术。(仅是个人见解)

在谈JavaEE时,我们首先来了解一下Java平台。目前,Java平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版)、适用于桌面系统的JavaSE(Java Platform Standard Edition,Java标准版)和适用于企业级应用的JavaEE(Java Platform Enterprise Edition)。而JavaEE是一个开发企业级应用的规范和标准,在现在的企业级开发中最为常用,最受人开发者的青睐。

JavaEE应用程序是由组件构成的,也就是说它是基于组件开发的。组件是具有独立功能的单元,它们通过相关的类和文件组装成JavaEE应用程序,并与其它组件相交互。一个组件的更改不会影响其它组件,代码重复减少,重用率高。有利于良好的分工与协作,实现并行开发。如果是用三层结构开发,那么表示层与数据访问层相互独立,因此美工可以更方便的扩充表示层,使系统具有良好的可扩展性。

在JavaEE的技术体系中,也融合了多种框架技术。其中以SSH(Struts+Hibernate+Spring)框架技术最为出名,这些框架技术代表当前企业(公司)级开发的趋势。当然,也有些比较出名的框架技术,如:Webwork、JSF、EJB、iBATs等等。各种框架技术是在JavaEE的基础上形成的,应用程序是在框架技术创建的。因此,要想学好JavaEE,必先学好基于Servlet技术的JavaEE。如果一入门就学SSH框架技术来搭建,就好像一个人还小时就先学走,不是先学爬,这多少有点赶鸭子上架的“味道”。

JavaEE的技术结构也体现了分层的原理,与C#三层结构差不多。只是“换汤不换药”而已,形式变了,核心的技术内容还是没有变。我们在设计一个系统时,通常都会把系统设计成多层(一般是三层)。设计成三层有什么好处呢?因为任何一个软件或是系统,有80%左右的时间都是处在后期维护的阶段,设计成三层,有利于今后的维护和扩展,也有利于程序的控制和页面的显示。

JavaEE的技术结构分为三层,那么这三层分别是什么呢?其实与C#差不多,分别是表示层、中间层、数据层。C#中的三层分别是表示层,业务逻辑层、数据访问层,只是不一样的说法,但表达的是同一个意思而已。表示层是用户界面,中间层包含各种业务逻辑,数据层是完成对数据的存取和封装。在这三层中,你认为哪层是最重要的呢?也许你认为是业务逻辑层,但是答案是错误的,正确的答案是表示层。试想,你做出的一个Web系统,界面不美观、不友好,用户用都不想用,那还谈什么业务逻辑啊。所以在此我推荐大家,在用三层结构开发一个项目时,首先从表示层入手,先把表示层做好。然后一分析业务逻辑,之后数据访问的思路也就有了。呵呵……

说了那么久的JavaEE技术,那它有什么内容呢?各层又是用什么技术来实现的?我先从表示层说起。

表示层技术是在JSP页面中用HTML标签、JavaScript脚本、Ajax。需要注意的是,Ajax并不是一种技术,而是几种技术的整合。它采用异步请求的方式,主要功能是向服务器端发送请求,处理数据或者根据返回的数据重新显示页面。

中间层技术主要是JSP、Servlet、JSTL、JavaBean、Struts框架。其中JSP是显示动态内容的服务器网页,Servlet是接收客户端的请求并作出响应,JSTL是帮助JSP显示动态内容的标准标签库,JavaBean是JavaEE的模型组件。需要注意的是,Struts框架技术主要是扩充了Servlet。在中间层中,Servlet是重要的组成部分,它控制着其它的组件。

数据层技术用的是JDBC、JNDI、Hibernate框架。其中,JDBC是传统的数据库连接方式,JNDI和Hibernate只是扩展了功能,并没有完全替代了JDBC。现在流行的是关系型的数据库,我们所用的大多数都是,如:SQL Server、Oracle、MySQL等,Hibernate框架技术是以对象的方式操作关系型的数据库,以减少内存的使用。

另外,还有系统集成技术。当你做Web Service时,就不可避免了。在现在阶段,我们如果用SSH框架技术开发,那么Spring就是一个系统集成的框架技术,也是在现阶段用的最多的系统集成技术。系统集成的JAX-WS技术是JavaEE平台的重要组成部分,它简化了使用Java技术开发Web服务的工作。不过,我有点遗憾,不了解JAX-WS技术。

说了那么久了,如果真有时候,有人问你JavaEE是什么呢时,希望我的见解你看后能用上场

详细解释什么是JavaEE?相关推荐

  1. Python精讲Numpy基础,大牛笔记详细解释

    https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...

  2. UIApplication sharedApplication详细解释-IOS

    UIApplication sharedApplication详细解释-IOS 分类: iOS开发2012-07-27 10:25 10287人阅读 评论(2) 收藏 举报 applicationui ...

  3. MongoDB:详细解释mongodb的高级操作,聚合和游标

    前几天总结了mongodb的安装入门.详细解释了增删改查的基本操作,今天再来总结下mongodb更高级的操作,聚合和游标. 一.聚合,mongodb的聚合操作一般分为四种情景,分别是:count.di ...

  4. PySide2 基础入门-创建实例窗口(详细解释)

    PySide2 基础入门-创建实例窗口(详细解释) python 3.7 / Pyside2 (如果使用pyQt5,将Pyside2 直接替换PyQt5即可)首先我们在Qt Designer中画好界面 ...

  5. Python之pandas:pandas.set_option函数的参数详细解释

    Python之pandas:pandas.set_option函数的参数详细解释 目录 pandas.set_option函数的参数解释 函数API:pandas.set_option pandas. ...

  6. linux中useradd的文件路径,linux的useradd命令详细解释

    Linux中的useradd命令顾名思义就是添加用户的命令.下面由学习啦小编为大家整理了Linux的useradd命令的详细解释的相关知识,希望对大家有帮助! linux的useradd命令的详细解释 ...

  7. 英语中的介词详细解释

    英语中的介词详细解释 xixi2015-01-05 10:02:58 转载于:https://www.cnblogs.com/lyhabctranslate/p/4202991.html

  8. ios学习--TableView详细解释

    2019独角兽企业重金招聘Python工程师标准>>> ios学习--TableView详细解释 分类: ios Object-C 2012-05-17 08:48  1714人阅读 ...

  9. theano中的Rop和Lop的详细解释

    #------------------------------------------序------------------------------------------------------- ...

最新文章

  1. Android之SimpleAdapter使用
  2. NIOS II spi详解
  3. commit与rollback命令
  4. 【Leetcode】大神总结的链表常见面试问题
  5. 视觉盛宴 HTML5 3D动画应用赏析
  6. CSS基础(part3)--伪类及伪元素
  7. IHttpModule 与IHttpHandler的区别
  8. 程序显示文本框_【教程】TestComplete测试桌面应用程序教程(二)
  9. PMP答题技巧(详细版)
  10. 遥感图像的辐射畸变与辐射校正
  11. gtest -UT测试框架
  12. 2020.1.1 只争朝夕,不付韶华
  13. 港科资讯 | 北京海外高层次人才协会与香港科技大学创业中心合作谅解备忘录签约...
  14. pdf会签_图纸会签规定
  15. ImportError: cannot import name ‘get_all_providers‘ from ‘onnxruntime.capi._pybind_state‘
  16. vue+springboot+阿里云短信服务(集成redis实现验证码登录业务)
  17. linux下载安装tree命令
  18. 2020IT网吧如何建立网吧电影系统
  19. 教你用c++代码制作:仙剑奇侠传,火爆人气!
  20. 【MPS】Jetbrains MPS入门案例Shapes(一)

热门文章

  1. Epoll两种模式浅析(ET or LT)
  2. 鼠标箭头样式改变和cursor属性
  3. 通过图片和base64互转,实现图片上传和下载显示以及踩坑
  4. android ip格式化输入法,手机键盘还能这样玩?简单几步,让你的输入法萌动可人!...
  5. 基于Matlab平台的BP神经网络进行数据拟合
  6. sift特征匹配源码matlab,SIFT特征匹配 MATLAB 实现
  7. 花了几百万,仍然无法消除「数据孤岛」,这份数字化建设方案下载
  8. 二十一、商城 - 商品录入-KindEditor 编辑器(9)
  9. 计算机专业photoshop知识,计算机一级Photoshop知识点
  10. butterfly主题的下载及美化