JavaBean和EJB的区别

如题....!... 如题....! 展开
 我来答
匿名用户
2013-08-23
展开全部
首先,EJB是指运行在EJB容器中的JavaBean。Tomcat是Web容器的参考实现。一个完整的JavaEE服务器应该包括Web容器和EJB容器。
其次,Web容器中无法运行EJB,同时所有的JavaBean都是在服务器端运行的。如果有在客户端的话,就变成C/S结构了。
目前来说除非需要分布式处理,不然基本上不需要考虑EJB。Spring能帮你处理好除分布计算之外的一切。
用JavaScript来进行服务器调用的话,属于Ajax的范围了。
至于购物车。一般来说有几种方法,一种是EJB中的有状态SessionBean。一种是使用HttpSession保存。还有就是自己建设一个对象池来处理。

JavaBean是领域模型的具体化类,保存了信息和业务。只有set、get方法的JavaBean是失血模型。现在来说一般多少不太欢迎这种东西。把本属于领域对象的业务逻辑都丢掉了。
实际上现在的JavaEE系统分这么几个层。
表现层(Struts、JSF等)+应用层(处理业务,可以是JavaBean也可以是EJB)+持久层(JDBC、Hibernate)。
不要在Struts的Action类中写业务代码,那是反模式。不然日后需要修改的时候很麻烦的。Action中只有流程指向和对应用层的调用。

领域模型分实体、值对象和服务三部分。一般实体里写业务代码、值对象显示、服务提供相对独立的业务。失血模型指一个对象中除了get和set方法外没有任何方法的类。现在不太推荐。addobject(objece **),delete(object **)...之类的方法就是业务。这些业务封进去后,失血模型就变成了缺血模型。充血模型把持久化服务等也包了,所以也不是很号。缺血比较推荐。
登录等流程其实是服务。推荐你去看看DDD设计的书也就是《领域驱动设计》。
匿名用户
2013-08-23
展开全部
都是JavaBean,只不过后者是企业级JavaBean
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式