Q:有什么功能需要用EJB来完成?
主要是分布式应用
Q:如何应用EJB,是在jsp或servlet中调用它吗?
如果WebContainer和EJBContainer物理上两台服务器,一般先做一个ejb delegate,然后在jsp或servlet中调用这个代理,而不是直接调用EJB
Q:Home 和 LocalHome的区别
如果EJB Client物理上在另一台服务器(确切说另一JVM),使用Home
如果EJB Client在本地(同EJB的JVM),用 LocalHome有性能提升很多EJB的东西不是一句话能说清楚的啊

解决方案 »

  1.   

    一般使用SessionBean,MessageDrivenBean
    EntityBean基本上都改用Hibernate作了
    如果新项目,也不熟entitybean,就不要使用EntityBean了,用hibernate吧EJB除了分布式的好处,其他的就是提供比较良好的组件级封装度,还有一个容器级别的对象池
      

  2.   

    看看facade ,servicelocator模式
      

  3.   

    TO: NewTypeQ(新人类)  
    hibernate 不是一种设计模式吗?怎么能代替ENTITY BEAN。我对hibernate不熟悉
      

  4.   

    晕,LocalHome和Home接口是EJB2才有的吗?以前做EJB1.0的时候好像没这种说法呀。
    另外,哪位给解释一下hibernate是什么东东啊?
    现在java的东西发展的太快了,一段时间没做,都不认识了,狂郁闷。
      

  5.   

    EJBLocalHome 和 EJBLocalObject 都是 EJB2.0新加的接口
    如果调用EJB的程序与EJB在同一环境中(如WebLogic),则通过本地(Local)接口可以提高访问效率(因为不用RMI了)
      

  6.   

    建议楼主看看petstore就明白了
      

  7.   

    可是我在自己试验时部署了一个Mytestbean在weblogic上,用jsp想调用它,
    要通过jndi得到MytestHome 时,jsp说MytestHome不识别,想想也是,
    EJB都部署到服务器上去了,然后再写jsp怎么能知道MytestHome呢,又不是
    一个包里,到底是怎么调用的呢?
      

  8.   

    学习,
    我也不明白为什么不要在jSP上直接调用EJB,而要通过代理来调用。
      

  9.   

    我也插两句,我以前也没有用过EJB只是看看书,很多也不明白。只是在最近才做了个电信的项目,略有体会。理论的那些我就不说了,我们用的是无状态的session bean。在bean里面只是做了以下封装事务和业务逻辑。其实我们的业务逻辑是封装到java bean中的,至于home 和local home 的用法和上面的朋友说的差不多,要看你的客户端要部署到什么地方具体定。其实想通了ejb就是一个空壳。
      

  10.   

    类似于petstore中的实现方法,在statecontroller中调用
      

  11.   

    这个东西主要针对多层架构。实体EJB是数据层,绘话EJB实现业务层。客户层可以用WEB,也可以用普通应用程序。JSP,servlet当然可以调用。当你的项目比较大,业务比较复杂,要想层次清晰易于维护的时候使用,Home可以跨JVM, LocalHome不行,LocalHome是轻量级的。一般LocalHome在同一EJB包内使用。hibernate和实体EJB处于同一层次的一种方式。如果没有EJB容器,可以考虑。
      

  12.   

    看mastering ejb吧ejb不好,吹的
      

  13.   

    Rod Johnson有一本J2EE设计开发编程指南,wrox出的,前面讲了EJB的优点和缺陷,个人认为比较中肯。不过Johnson是很提倡他自己的Spring+Hibernate构架的。我没在实际项目中用过EJB,感觉没有必要做成分布式的,现在在学Hibernate,其实Hibernate就是封装一下JDBC,主要是用了以后系统的构架会好看得多。不过个人觉得EJB是主流,以后会有更好的调试工具和配置工具出来,而Hibernate不管怎么说都是非主流的,以后怎么样还难说。
      

  14.   

    我所接触到几个项目中只涉及到无状态的session bean .充分利用application 服务器去管理cache和事务.一个失败的项目使用cmp+bmp+sessionbean开发的思路比较清晰但是在性能方面有瓶颈
      

  15.   

    up........这几天在网上狂找关于EJB规范的应用问题,基本上知道国内没有什么EJB市场.
    有的只是jsp,spring,hibernate,struts,
    本人观点:我们又要落后了!
             我们还很穷,没大公司, 没钱买服务器,还不需要分布,反正够用就行.
             我们要工作赚钱,没时间学不断更新的EJB,难理解的EJB!
             然后,又跟在别人后面学习(就象CPU,WINDOWS)
      

  16.   

    现在赶流行,都用hibernate
    EJB写在SQL上的支持感觉不强,很龌龊.(我没做过)
      

  17.   

    我用的是javaBean调用会话Bean,会话Bean调用实体Bean,我想如果在会话Bean与实体Bean间再加一个数据传输对象会好点吧。。还没用呢