对于J2EE的界定??你们怎么理解?

09-04-05 bloodrate
首先说这个名字“J2EE”,在JCP的网站上找不到这个说法,一般是JavaEE是标准的叫法,我不知道这个“2”是什么时候加上的,代表什么?

其次一说到J2EE,我首先想到的就是JCP社区由SUN主导的那一些列规范,最新的JavaEE6.0(JSR316)定义了一些profile,但是这些profile引用了其他的jsr规范,这就是我们所说的javaEE的来源,那么经常听人问“你们用什么J2EE框架”“SSH”。ssh其中任何一个都没有在JavaEE6.0或者更早期的版本里定义,甚至连JSR都不是,那么SSH能说是J2EE框架么?一般提到的JavaEE6.0是JSF+EJB+JPA这个组合,其中EJB在核心的位置上,那么如何称呼和划分更加严谨一些?

IceQi
2009-04-05 18:59
j2xx的名字是前一代了:j2se\j2me\j2ee,现在都改成Java ee\ Java me ====了

一般来说J2ee的包括:ejb / web service / jms

SSH只是应用的比较广泛的一种实现模式

freebox
2009-04-05 19:06
J2EE是早期叫法,后来升级了叫JavaEE

SSH体现了分层结构,Hibernate算JPA的一个实现,而且还很不错,struts也算servlet的一个扩展实现。

使用标准当然会得到更好的支持,但是很少有人会为了标准放弃某个服务器提供的优秀专属API,这就导致不能在各服务器间兼容。

怎么做就得看有没有必要,没必要的情况下可以放弃标准选择更快速更简易的工具。就像很多人说的没有万能的锤子一样,标准也有可能把钉子砸弯。

怎么划分就难说了,在JEE伞状规范里的东西都用到才算JEE,还是只用子集就算,没有地方定义这种划分。SSH在我看来因为用了hibernate,就算JEE框架。

bloodrate
2009-04-05 22:27
我也觉得SSH不属于标准的javaEE范畴,但是jsp,servlet在JavaEE中有定义,而struts要以servlet框架为基础,struts算是非标准jee组件,而hibernate怎么会是JPA的实现,hibernate2001年就有了,那时候还没有jpa,spring和hibernate属于不在jsr规范中的自由实现不应该算作JavaEE范畴。

JavaEE是JSP,SERVLET,JSLT,EL,JSF,EJB,JPA,JMS,JAAS,JAXWS,JAXRS,JAXB等等

freebox
2009-04-06 15:02
不单hibernate,TopLink 和openjpa都是JPA的实现(并且不知道为什么我们还有个项目是用openjpa做的,当时我们对它的API都不太了解,经验更是一点也没有,选择它实在是个错误),我觉得不能以时间先后为判别标准,早期的hibernate当然没有什么JPA可言,但是推动了JPA的建立,现行的hibernate是实现了JPA的,如果您针对hibernate2.x而言就没有。jboss选用了hibernate做为jpa实现,toplink当然是和oracle有关,具体的没有了解过。

猜你喜欢
2Go 1 2 下一页