我一直没搞懂java ee到底是什么?

u011124319 2016-02-04 09:33:47
每次配置java环境后,我都有一个疑问:到底什么是j2ee?
需要下载jdk时,我就纳闷我该下载java se呢,还是java ee?

各种查java ee 是什么,清一色高大上说法:企业开发,云里雾里,不知道是啥。
我用tomcat + spring + struts2(最近换spring mvc了)+ mybatis(或者Hibernate),
这套组合开发了不知道多少企业应用的系统了,不知道算不算企业开发。

偶尔需要消息队列啊,工作流啊等等也是maven下几个jar就可以开干了。

到底什么是java ee?
我做的算java ee企业开发么?
我什么时候需要安装j2ee?
...全文
37784 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发刘德华 2018-05-15
  • 打赏
  • 举报
回复 2
java ee,java se,java me是三个标准;举一个通俗的例子,好比你买车时会有豪华版和普通版,豪华版的标准是天窗,普通版的标准没有天窗;假设你买的是普通版,之后自己加了天窗,不也达到了买豪华版的目的了吗
从程序到猿 2018-03-16
  • 打赏
  • 举报
回复
求大佬教我eclipse 怎么做java ee 应用开发
黑白不开心 2017-01-05
  • 打赏
  • 举报
回复
先把Java SE说明白,之后再说Java EE 会更好理解。
以下是我的理解,如有不恰当的地方,请大家原谅吧。
Java SE 共分为四个部分:1、Java 语言规范 2、Java 类库 3、Java 工具集 4、Java 虚拟机规范;当然JDK中默认是带着HotSpot Java虚拟机实现的,其实完全可以使用别家的虚拟机实现,比如J9、JRocket等。

上图是Java Docs中的Java SE架构图,很清晰的说明了,我就不废话啦;唯一要吐槽的就是百度百科中Java EE的解释居然说JDBC、JNDI、RMI、JavaFX等一系列的Java SE类库是Java EE规范,我也是醉啦。

下面说说Java EE是什么,百度一下很多人都会说Java EE这个概念太大啦,包含的技术太多啦,其实是这样吗,仔细阅读一下Java EE Tutorial 就会明白,其实Java EE包含的东西并不是那么多,就分为两个部分:1、Java EE Server,再往小往不全面上说,其实就是Web Container(也可以叫Servlet Container,包括JavaServer Faces)和 EJB Container。2、Java EE API,具体包括哪些API,请大家看源码,或者看API文档吧。有些人总感觉javax包下的都是Java EE API ,其实不是,很大一部分javax包下的类库是在Java SE中发布的。

下面再说说当前企业用的最多的架构和框架给大家带来的疑惑。我所在的公司采用的技术是,tomcat作为Web Container,框架使用SSM以及Dubbo,消息中间件RocketMQ,其他分布式Job等是公司内部开发的。如果是用Tomcat启动的Spring容器,那肯定用到啦Java EE,不用说肯定是Java EE应用,但用到了一部分Java EE罢了;如果是使用其他方式,不是Web Container启动的Spring容器,比如说启动Dubbo服务时不用部署在Tomcat中,这时如果没有用到其他的Java EE API ,可以认为不是Java EE程序,但是确实企业级Java 程序。

也不知道说明白没,将就着看吧。
kugua70708 2016-11-26
  • 打赏
  • 举报
回复 1
刚要开始学,满世界找这两者的区别,看完了这个贴的所有回复,下面是我的理解,不知道对不对: JEE 首先是一套规范,然后SUN(或oracle)遵循这个规范开发了相关组件,规范加上官方的组件合起来叫JEE JEE是方便需要所谓的企业级开发(需要分布式协调,跨多网络通信)的团队快速搭建应用, JEE是企业级开发,但并不是说使用JSE的就不是企业级开发 使用JSE,自己开发实现分布式组件,网络通信组件,WEB功能组件等,那也是企业级开发, 只不过你用你自己实现的,而不是JEE里已经帮你实现的, 当然,一般情况下除非很大型的企业,否则自己不会去重新实现这些东西,但是有很多开源的第三方的组件, 使用JSE加上这些第三方的组件,照样实现企业级的开发。
  • 打赏
  • 举报
回复
引用 25 楼 qq_34382517的回复:
lz,我刚培训Java ee 出来,目前也是用的ssm框架做了两个练手的小项目,但是找不到工作啊,怎么办 愁死我了
小伙子!加油,要努力不放弃,刚出来的实习生都这样,我估计你也是大专级以下的学生!中国这么多城市,肯定有一个单位需要你!
qq_34382517 2016-07-19
  • 打赏
  • 举报
回复
lz,我刚培训Java ee 出来,目前也是用的ssm框架做了两个练手的小项目,但是找不到工作啊,怎么办 愁死我了
tianfang 2016-02-17
  • 打赏
  • 举报
回复
两个概念混了 ,JavaEE 和企业开发 是两个事情 JavaEE是标准集定义的技术架构 企业开发是一个面向企业开发的技术组合,可以是SSH 也可以是JavaEE
笨笨的小张 2016-02-15
  • 打赏
  • 举报
回复
JavaEE表示Web系统里面的核心jar包,JavaSE表示的是Java核心的基础jar包
wxw01234 2016-02-15
  • 打赏
  • 举报
回复
先说说企业级,就是给企业用的。但这个“企业”,一般指的是“大企业”, “大企业”跟“小企业”的区别。 小企业的一个应用可能只是个网站,包含多个功能就满足需求了。 大企业可能包括多个分公司,地理位置不一样。机构复杂。额外的需求可能就有容错容灾,数据冗余,数据安全,实时性等等。 其中比较重要的就是分布式的支持,这也就是为什么ejb是j2ee的核心了。ejb就是简化分布式开发的框架。 既然企业级的最基础的要求就是分布式,那么通信问题就得考虑。 上面是我理解的企业级的东西,其实可以和j2ee分开理解。 分布式的东西开发成本比较高,所以sun公司和其他一些公司合作,共同制定一些成熟的组件,来简化开发过程。这些标准统称J2EE. 指的是这些工具集可以用来进行复杂的企业级开发。 J2EE的标准有十几种,xml,jta,jms,rmi,corba, ejb...等等。 其中包括称为java web部分的servlet和jsp。 首先,怎么算是企业级开发。这个不是使用什么技术决定的,看实际需求。也很难找到比较严格清晰的定义。如果实在要加个门槛,就把分布式加上吧。(比如j2ee里面的大部分协议都跟分布式和通信有关系corba,ejb,xml,jms,jta,jmail等)。 再者,怎么算是j2ee开发,这个问题没什么意义。既然j2ee协议包含了这么些个协议,使用其中的一种就算是吧。 还有一个问题是,使用ejb算不算是企业级开发。我觉得肯定算j2ee开发,因为使用了j2ee的标准,但是企业级开发,我上面说了不是看是用什么技术决定的。如果只开发个网站,我就是要用上ejb,但是ejb基本啥作用没起到,就不算。反之,分布式的东西我从头写,通信的协议我自己定,只用了jsp。那这也可能是个企业级的。 所以回答你的问题,什么是javaee,javaee是一堆标准。 一般不用下javaee版本,比如用servlet是有servlet容器,用ejb是有ejb容器的。
u011124319 2016-02-15
  • 打赏
  • 举报
回复
如果使用了EJB就算企业级开发的话,就好理解了。 但是是这样的么?
u011124319 2016-02-15
  • 打赏
  • 举报
回复
引用 20 楼 dagewxw 的回复:
先说说企业级,就是给企业用的。但这个“企业”,一般指的是“大企业”, “大企业”跟“小企业”的区别。 小企业的一个应用可能只是个网站,包含多个功能就满足需求了。 大企业可能包括多个分公司,地理位置不一样。机构复杂。额外的需求可能就有容错容灾,数据冗余,数据安全,实时性等等。 其中比较重要的就是分布式的支持,这也就是为什么ejb是j2ee的核心了。ejb就是简化分布式开发的框架。 既然企业级的最基础的要求就是分布式,那么通信问题就得考虑。 上面是我理解的企业级的东西,其实可以和j2ee分开理解。 分布式的东西开发成本比较高,所以sun公司和其他一些公司合作,共同制定一些成熟的组件,来简化开发过程。这些标准统称J2EE. 指的是这些工具集可以用来进行复杂的企业级开发。 J2EE的标准有十几种,xml,jta,jms,rmi,corba, ejb...等等。 其中包括称为java web部分的servlet和jsp。 首先,怎么算是企业级开发。这个不是使用什么技术决定的,看实际需求。也很难找到比较严格清晰的定义。如果实在要加个门槛,就把分布式加上吧。(比如j2ee里面的大部分协议都跟分布式和通信有关系corba,ejb,xml,jms,jta,jmail等)。 再者,怎么算是j2ee开发,这个问题没什么意义。既然j2ee协议包含了这么些个协议,使用其中的一种就算是吧。 还有一个问题是,使用ejb算不算是企业级开发。我觉得肯定算j2ee开发,因为使用了j2ee的标准,但是企业级开发,我上面说了不是看是用什么技术决定的。如果只开发个网站,我就是要用上ejb,但是ejb基本啥作用没起到,就不算。反之,分布式的东西我从头写,通信的协议我自己定,只用了jsp。那这也可能是个企业级的。 所以回答你的问题,什么是javaee,javaee是一堆标准。 一般不用下javaee版本,比如用servlet是有servlet容器,用ejb是有ejb容器的。
非常感谢你详细的解答。 我还没用过EJB,所以理解起来有点乱。
attilax 2016-02-09
  • 打赏
  • 举报
回复
凡是比较大型企业,gov 用的软件都是企业级的开发。。。 标志是技术比较复杂,时间规模大。。 个人以及小企业 以及家庭用的软件就是非企业级了。。
CCDDzclxy 2016-02-08
  • 打赏
  • 举报
回复
新年快乐~~ 同样不明白... 貌似 是否 采用EJB3之后的标准,是一个分水岭??
我叫小菜菜 2016-02-08
  • 打赏
  • 举报
回复
引用 13 楼 jacktree365 的回复:
java SE java EE java ME 分这三种,详细百度。
正解。 java ME 这是移动端的java,属于精简型(微型)。主要面向移动端应用。 java SE 标准版,包含swing,可以开发小的桌面程序。主要面向桌面应用。 java EE 企业版,主要面向web应用,尤其是企业级开发,都提供了一套开发流程。。
鸣鸣Amadues 2016-02-07
  • 打赏
  • 举报
回复
引用 9 楼 u011461314 的回复:
javaee 就是在网络上跑的程序 javaee的目的是使程序员开发网络程序就像开发桌面程序一样。 就是隐藏网络间交流的开发。
web程序只是Jave EE的功能之一。 而且Java EE开发web程序主要是应用层面的,也就是后端,你说的开发网络程序就像开发桌面单机程序主要是前端调用后端方法的区别。
爱睡觉的阿狸 2016-02-07
  • 打赏
  • 举报
回复
,也是不大懂
朗晴 2016-02-06
  • 打赏
  • 举报
回复
java SE java EE java ME 分这三种,详细百度。
tianfang 2016-02-06
  • 打赏
  • 举报
回复
引用 4 楼 u011124319 的回复:
[quote=引用 1 楼 tianfang 的回复:] javaee是一系列的规范及实现 核心是EJB oracle 提供的javaee是它的免费应用服务器,glassfish,开发工具netbean 及代码示例,让你构造最基本的EJB开发运行环境。 没有使用EJB,应该不是JAVAEE开发,但是老一代的J2EE技术,特别是EJB2.0 被SSH框架代替,SSH现在依然是国内企业开发技术主流 什么时候都可以安装,eclipse JEE版+JEE规范服务器及其eclipse插件(jbossAS/wildfly等等)就构成了开发/运行环境。 需要安装是看技术选型是否采用了JAVA EE技术,特别是是否采用EJB3之后的标准
这个回复我这种水平的还稍微看得动一些。 你的意思就是使用了EJB,使用了符合了JAVA EE规范的服务器,才算Java ee开发。 是这样么?[/quote] 首先看看什么是JavaEE http://www.oracle.com/technetwork/java/javaee/overview/index.html 点击technologies ,这个是JavaEE7的规范JSR,满足这些的才是JavaEE 7 再看看download :其中 Java EE 7 SDK Update 2 A free integrated development kit used to build, test, and deploy Java EE 7 applications. It includes : - GlassFish Open Source Edition 4.1.1 - Java EE 7 Code Samples - Java EE 7 API Documentation - Java EE 7 Tutorial - Your First Cup: An Introduction to the Java EE Platform 中文介绍可以看看 http://www.jdon.com/idea/javaee7/
u011124319 2016-02-05
  • 打赏
  • 举报
回复
引用 9 楼 u011461314 的回复:
javaee 就是在网络上跑的程序 javaee的目的是使程序员开发网络程序就像开发桌面程序一样。 就是隐藏网络间交流的开发。
越说我越迷糊啊, 我开发的都是Web系统,用tomcat。 算java ee么
zhjdg 2016-02-05
  • 打赏
  • 举报
回复
javaee 就是在网络上跑的程序 javaee的目的是使程序员开发网络程序就像开发桌面程序一样。 就是隐藏网络间交流的开发。
加载更多回复(8)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧