servlet你当是一个类好了,在这个类怎么采访ejb,还基础的
我觉得你先应该自己看一下书的。。

解决方案 »

  1.   

    访问数据库和servelet没有关系
      

  2.   

    http://www.cn-java.com/target/news.php?news_id=2296
      

  3.   

    http://www.cn-java.com/target/news.php?news_id=1942
      

  4.   

    1.servlet+EJB那个你不是已经实现了么,如果没有,就要在servlet里面lookup jndi.
    2.把connect database的代码放在EJB里面,可一用JDBC最简单,当然也可以用cmp,这是需要生成另外一个ejb,如果你用的是ide就很简单了,生成一个entitiy bean,cmp2.0.
    然后在你第一ejb里面去调用这个cmp ejb.
      

  5.   

    1.servlet调用delegate(做个代理),然后delegate调用facade,facade(sessionbean)调用ejb,最后就是return
    2.楼上的说对了一半,也可以使用bmp这个其实就是楼主强调的第一种情况
    作为cmp来说,其实就是个数据映射关系,把数据库表呈现成一种视图。如果用cmp可以直接采用数据源连接方式,这个对于一般中间件都可以帮助实现(weblogic,jboss等)
    而bmp灵活性要强点,但是有些东西的烦琐程度就相对cmp来说复杂
      

  6.   

    To strutsone(伸手云龙关羽关云长) and yeshucheng(叶澍成★七哥---女人的美莎酮))
    private MBusinessHome mbusinesshome = null;
    //init方法中,查找JNDI获得MBusiness Session Bean 的引用对象
    public void init(ServletConfig config) throws ServletException 
    {
    super.init(config);
    Context ctx = null;
    //InitialContext ctx = null;
    try {
    String initCtxFactory =
    getInitParameter(Context.INITIAL_CONTEXT_FACTORY);
    String providerURL = getInitParameter(Context.PROVIDER_URL);
    Properties env = new Properties();
    if (initCtxFactory != null) {
    env.put(Context.INITIAL_CONTEXT_FACTORY, initCtxFactory);
    }
    if (providerURL != null) {
    env.put(Context.PROVIDER_URL, providerURL);
    }
    ctx = new InitialContext(env);
    //ctx = new InitialContext();
    //Object objRef = ctx.lookup("java:comp/env/ejb/Order");
    Object objRef = ctx.lookup("MBusinessBean");
    mbusinesshome =
    (MBusinessHome) PortableRemoteObject.narrow(
    objRef, MBusinessHome.class); } catch (javax.naming.NamingException ne) { System.out.println(" Create Exception caught : " + ne); throw new ServletException(ne.toString()); } catch (Exception e) { throw new ServletException(e.toString()); } finally { if (ctx != null) { try { ctx.close(); } catch (javax.naming.NamingException ex) { } } } }//////!!!!!!!!
    Object objRef = ctx.lookup("MBusinessBean");
    mbusinesshome =(MBusinessHome) PortableRemoteObject.narrow(objRef,MBusinessHome.class);
    code在访问servlet的时候抛出class MBusinessBean not found的异常~~,我采用的ide是eclipse3.0.1+lomboz,在deploy是可以正确运行。我的jboss是3.2.3,看到上面提到的大都是jboss3.0.4的。 lookup jndi是不是需要配置,这个应该如何配置呢?多谢了
      

  7.   

    :)servlet对ejn的调用已经解决了,等做完了这个project之后再写一个总结了。
    不过关于CMP对数据库的操作还没有底,~~