用jbuilder开发,ejb和servlet在什么package下是自己设定的,一般不要放在相同package下,我这边默认打包时ejb打包成一个jar文件,其他web应用程序打包成一个war文件的。
部署好的ejb,在servlet里调用也是通过jndi访问,代码可以参照jbuilder自动生成的测试ejb的代码。

解决方案 »

  1.   

    楼上的loveolal,我明白你的意思了,
    如果EJB和web应用程序不打在一个包里的话,我有一个小问题
    我把EJB和servlet放在一个package下面的时候,在servlet调用EJB的时候
    我是按下面的方式写的,
    在函数里面直接定义
    EjbHome home=null;
    home = (EjbHome) PortableRemoteObject.narrow(ref, CreateXmlHome.class);我认为是应为我的servlet和EJB在一个package下面,才可以这么写,如果
    放在不同的包下面,应该怎么写?谢谢!
      

  2.   

    Properties prop = new Properties();
    prop.setProperty(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    prop.setProperty(Context.PROVIDER_URL, "t3://localhost:7001");
    InitialContext initial = new InitialContext(prop);
          
    Object object = initial.lookup(jndiname);
    ejbHome = (EjbHome)PortableRemoteObject.narrow(object,ejbHome.class);
      

  3.   

    我遇到的情况是,用jbuilder做的EJB,用JSP访问时,一定要在一个工程里否则无法通过编译
      

  4.   

    jsp和ejb可以不在一个project里,单独部署