1.EJB 是基于哪些技术实现的?并说出SessionBean和EntityBean的区别?StatefulBean和statelessBean的区别?
2.JNDI是什么意思?

解决方案 »

  1.   

    1.EJB 是基于RMI(远程方法调用)实现的。
    2.JNDI是什么意思:JNDI全称 Java Naming and Directory Interface 
    JNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。我没用过ejb,其他的sessionBean就不知道了,但是我现在正在开发rmi,所以知道ejb用了这个
      

  2.   

    同意楼上,呵呵。会话 Bean (Session Bean):根据 EJB 规范,一个会话 Bean 是: 代表单个客户端来执行 
    可以参与到事务处理中 
    不直接代表共享于数据库中的数据,但它能访问和更新这些数据 
    相对而言是短暂存在的 
    当 EJB 容器失效后就不存在---客户端需要重新建立一个信新的会话对象来继续运算 实体 Bean (Entity Bean):根据 EJB 规范,一个实体 Bean 是: 提供在数据库中数据的对象视图 
    允许被多个用户共享存取访问 
    可以是长期存在 (只要它存在于数据库中) 
    实体 Bean, 它的主键对象, 以及它的远程引用将能跨 EJB 容器的宕机而存在
      

  3.   

    补充楼上的:
    对于Session Bean和Entity Bean
    Session Bean是:动词代表
    Entity Bean是:名词代表
    所有的业务逻辑都可以放到Session Bean中写
    而Entity Bean其实就是一个与数据库映射的转接方式,数据存储的一个过度JNDI:java naming directory interface
    java 命名目录接口
    它出现的目的就是为了RMI来更好的处理查找相应接口,规范处理
      

  4.   

    EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现.SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件.EntityBean被用来代表应用系统中用到的数据.对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑;EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体.Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean .这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体.Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method.换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行.从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态.
      

  5.   

    JNDI:Java Naming & Directory Interface,JAVA命名目录服务.主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能.
      

  6.   

    这里有J2EE的面试题集锦,楼主可以参考
    http://bbs.java.ccidnet.com/htm_data/8/0604/19767.html
      

  7.   

    EJB 和RMI有关系??只有远程调用EJB时, 才会用到RMI;
    本机调用的话, 只需要JNDI,XML就行了.  所以EJB是基于JavaBean, JNDI, XML的
      

  8.   

    这些可都是基础啊,一般来说面试java的必然会问这些基础的问题,你连这些都不清楚,说明你没有准备号。