接触J2EE半年,越来越不懂J2EE,求教!!

bibleboy 2002-07-14 10:19:26
一开始接触,就知道J2EE是企业级应用平台。他包括各种API,采用EJB,JSP,JavaBean等技术。
但是接触多了反而糊涂了,
Wrox的《J2EE服务器端高级编程》这本书上提到的:J2EE定义了运行时的体系结构,(我对这句话的理解是:J2EE定义了容器的概念,并且是对容器和程序员所做的工作进行划分的一种规范,可以这样理解吗?这句话能否作为对J2EE的定义?)

如果上面的假设成立,是不是意味着那么多API也好,EJB,JSP,JavaBean也好都不是“J2EE的定义”的必要条件。

那么如MVC之类的模式是什么呢?是对在容器中所要选择采用的诸多技术的一种流程样式。
其实这种流程样式也并不是十分明确的,他可能只是对EJB,和其他前台技术(指JSP之类做一个功能上的对应,就是说EJB对应Model对应商业逻辑)

如果是这样的话,是不是意味着在J2EE的定义里头甚至不包含“EJB处理商业逻辑,JSP等处理页面显示等等思想”J2EE的定义是否只意味着对容器和程序员所做的工作进行划分。

真是越来越糊涂了,真的是这样吗?我说的是真的吗?
...全文
8 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ythero 2002-07-17
up
回复
haode 2002-07-15
呃,有点胡涂了。表示层,商务逻辑层,数据层是逻辑上的分层。好像和MVC还有区别的
回复
haode 2002-07-15
J2EE是Java2平台企业版(Java 2 Platform Enterprise Edition),它把Java的企业级API捆绑在一起,成为用Java语言进行服务器端的企业级应用部署的开发环境。
J2EE只是一个规范,不是产品。
J2EE包括很多内容,EJB是主要的,另外还有JNDI,JDBC,JMS,JTA和JTS,RMI等等,其中Servlet和JSP也是J2EE的一个组成部分。
MVC模式是指三层体系结构,其中包括表示层,商务逻辑层和数据层,并不是说和EJB什么的一一对应,表示层包括JSP或者ASP等脚本语言组成的页面,但是也有表示层逻辑控制组件,这些组件也可以是EJB的。
回复
肖尧19 2002-07-15
太死抠‘定义’二字了吧。
我相信没有几个人可以精确得下出定义,J2EE本来就是处于不断变化的一个状态,这个版本的规范制定出来了,难免会有缺憾或遗漏什么,这样,根据需要,下一个
版本又出现。就象以前没有MessageDrivenBean,后来有了。
所以EJB,JSP,JavaBean,Servlet,JMS,JNDI等等当然不能说它们是J2EE的定义,
谁知道这些东西随时间的推移,会不会被其它的更好的东西所取代?
至于一个J2EE应用程序要用哪些东西,这个得根据自己需要来吧,JSP,SERVLET也不是非用不可,我就喜欢EJB+Application的组合。

回复
bitfan 2002-07-15
记得我刚学COM时,将COM与MFC、ATL、ActiveX控件、MTS等混在一起,也被弄得一团浆糊。后来终于理出了头绪,再在Windows平台下开发网络软件,不管是用VB/VC还是Delphi,都心中有线索了。
我刚看J2EE,但我发现它其实就是一套规范罢了,只要所有的人都遵守这个规范,他们所开发的各种东东如Serverlet,EJB,JSP等就可以相互合作,共同构成一个复杂的系统。什么WebLogic之类,只不过是符合J2EE规范的一个商业产品罢了。事实上EJB,JSP等就是表现为一整套规范,具体的组件符合EJB规范的就是EJB组件,就可以运行在WebLogic、Websphere这些EJB容器产品内。
至于MVC,则与J2EE无多大关联,那是面向对象理论中设计模式的领域。建议看一下《设计模式——可复用软件的基础》一书,这是经典著作,讲了23种设计模式,看了之后就明白,J2EE的多层分布式结构应用了许多设计模式(包括MVC),这些设计模式可用于一切面向对象的语言和环境中,并不局限于Java。事实上,VC中的MFC其实就是MVC模式的一个翻板,设计模式理论的出现与应用比Java语言还要早,最初大规模的应用可能是在C++类库的设计上。
呵呵,我刚从Windows平台转向研究J2EE,可能这些看法不一定对,等着J2EE高手指点指点。
回复
flingdragon 2002-07-15
收益匪浅
回复
weixia 2002-07-15
j2ee是一套api及其规范说明,sun搞出这个东东是为了让构建企业级的应用程序更加规范化,简单化。,你可以先想想构建一个企业级的系统都需要些什么东西,之后你再看看j2ee,你应该就能在其中找到你所需要的api来实现(当然现在的j2ee还没有完善),你要是想真正了解它,你可以先看看在它出现之前建造一个企业级系统是怎么一回事,而j2ee的出现正是为了解决以前那种方案的缺点。再就是关于mvc,它只不过是一种设计模式罢了,想想你在写一个应用程序时开始是怎么做的,之后呢?也许每个人都有他自己的个性化方式,而mvc则是提供了一种比较合理的,且规范化的设计模式,按照这个设计模式去编写你的应用程序的话你就可以比较轻松的度过开始时的那段策划期了,而且按照这个模式写的应用程序也具有良好的结构,易于管理和改进
回复
gfzhx 2002-07-15
往往光是有J2EE还是不够的,还需要一个更细致的框架,就像sun的BluePrints,都是一个很不错的框架。J2EE只是定义了更高层次的应用程序规范,我们还需要根据自己的需要来自己再封装一层高级应用。
回复
bibleboy 2002-07-15
haode(好的) 和Mars_Mao(战神) 说:(J2EE只是一个规范。J2EE包括很多内容,EJB是主要的,另外还有JNDI,JDBC,JMS,JTA和JTS,RMI等等,其中Servlet和JSP也是J2EE的一个组成部分。)这样的说法肯定是不精准的,因为Wrox的《J2EE服务器端高级编程》这本书上提到的:J2EE不是一个简单的API的集合,而是定义了一个运行时的体系结构。

和 javapro(microft_hating) 探讨一下,MVC中的 model是指商业逻辑(通常对应EJB)和数据。可参看http://www.yesky.com/20020121/214808.shtml。你说的 “model:数据源,就是数据层”似乎不全面,但你对view,control的分析我认为非常正确。

gfzhx(小小) 说的BluePrints我不太了解,可能即使在用,但不清楚这个名词,看来我要去补补课了。

weixia(wx) 的忠告我很感谢,不过我已经参与过一个30人3个月(编码时间)的J2EE的项目,所以我你说的“对企业级系统是怎么一回事”有一些了解,我只是突然对J2EE的精确定义有点迷迷瞪瞪,因为对自己的理解还不够自信。

其实各位大致的看法都是J2EE是一个API的集合,可是偏偏wrox说他不仅是API,而是一个运行时的体系结构,我现在也想明白了,其实J2EE的定义包含了2个层次的含义,第一就是定义了一系列的API,第二是描述各种API在多层体系结构中的角色。

其实我觉得J2EE中的MVC也是在做API的角色划分,只是他是更加细致的规定了角色,主要是指前台的流程怎么走,其和j2EE第二层含义的区别也就是前台流程的规定化(按照view,control的思想进行的规定化)。
回复
Mars_Mao 2002-07-15
安我的印象中,J2EE只是Java多层应用开发的标准,他提供了一系列的标准API和编程的模式,如EJB,JavaBean,JSP,Servlet等等。
回复
javapro 2002-07-15
MVC:model:数据源,就是数据层!

view:视图,通俗一点,就是表示层,比如jsp,xml,html


control:用于控制,在其中也能实现商务逻辑。可用servlet实现,其作用是当客户发出请求时,用它决定将请求分配给哪一个jsp(对于j2ee)处理。
回复
dntq 2002-07-14
真的
但是要有耐心阿
回复
delphimm 2002-07-14
up
回复
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2002-07-14 10:19
社区公告
暂无公告