可在JB里面,客户端和我那EJB是属于同一个包的,那些HOME和REMOTE接口都可以直接用就是了,而在JSP里面,就没得那些包用了,又不知怎么个导入法,能不能麻烦你再说具体一点谢谢!

解决方案 »

  1.   

    谢谢各位先了!
    我的代码如下:
    import javax.naming.*;
    import java.util.Properties;
    import javax.rmi.PortableRemoteObject;
    import java.util.Date;public class AntClient {
    private static Context getInitialContext() throws Exception {
        String url = "t3://192.168.1.1:6001";
        String user = null;
        String password = null;
        Properties properties = null;
        try {
          properties = new Properties();
          properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
          properties.put(Context.PROVIDER_URL, url);
          if (user != null) {
            properties.put(Context.SECURITY_PRINCIPAL, user);
            properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
          }      return new InitialContext(properties);
        }
        catch(Exception e) {      throw e;
        }
      }
      public static void main(String[] args) {
        try{
          Context antIni =getInitialContext();
          Object ref = antIni.lookup("AntDate");
    //问题在这里,我的Home接口说找不到啊,我import时也说找不到这个包,我不知该具体怎么做
          AntDateHome antHome = (AntDateHome)PortableRemoteObject.narrow(ref,AntDateHome.class);      AntDate a = antHome.create();
          Antah b = a.getMessage();
          Antah d= b.getUserData("ant",100);
          System.out.print(d.name+"is"+d.age);
          }catch(Exception ex){
            System.out.println("Gaught an unexpected exception!");
            ex.printStackTrace();
          }
      }}
    //问题在这里,我的Home接口说找不到啊,我import时也说找不到这个包,我不知该具体怎么做,我在WEBLOGIC里已经部署好了这个EJB的
    -------------------------------------------------------
    还有,我该怎么给分,我是刚刚上CSDN的,我想给各位多点分,20分太少了,我不知具体怎么操作啊,我想再加100分该怎么做
      

  2.   

    当然,你没有把那两个类文件import进来
    你在import时加两个ejb class的两上类文件
    一个是home接口
    一个是remote接口
      

  3.   

    import javax.naming.*;
    import java.util.Properties;
    import 这个类文件所在的包.AntDateHome;
    import 这个类文件所在的包.AntDate;
    import javax.rmi.PortableRemoteObject;
    import java.util.Date;public class AntClient {
    private static Context getInitialContext() throws Exception {
        String url = "t3://192.168.1.1:6001";
        String user = null;
        String password = null;
        Properties properties = null;
        try {
          properties = new Properties();
          properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
          properties.put(Context.PROVIDER_URL, url);
          if (user != null) {
            properties.put(Context.SECURITY_PRINCIPAL, user);
            properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
          }      return new InitialContext(properties);
        }
        catch(Exception e) {      throw e;
        }
      }
      public static void main(String[] args) {
        try{
          Context antIni =getInitialContext();
          Object ref = antIni.lookup("AntDate");
    //问题在这里,我的Home接口说找不到啊,我import时也说找不到这个包,我不知该具体怎么做
          AntDateHome antHome = (AntDateHome)PortableRemoteObject.narrow(ref,AntDateHome.class);      AntDate a = antHome.create();
          Antah b = a.getMessage();
          Antah d= b.getUserData("ant",100);
          System.out.print(d.name+"is"+d.age);
          }catch(Exception ex){
            System.out.println("Gaught an unexpected exception!");
            ex.printStackTrace();
          }
      }}
      

  4.   

    我也知道肯定要导入的,可我import时出错了,我在WEBLOGIC里部署时那个JAR的文件目录为:
    C:\bea\wlserver6.1\config\mydomain\applications
    ****EJB.jar
    我就直接import ****EJB.*;
    是不是这样导入出错,或者我的JAR文件放的目录不对,还请各位指点!
      

  5.   

    其实和在一般的应用里一样的
    如:1。<% import="javax.ejb.*"%>
    <% import="javax.naming.*"%>
    ...
    <%
     String url="t3://localhost:7001";
     Properties prop=new Properties();
     prop.put...
     prop.put..
     Context ctx=new InitialContext(prop);
     Object obj=ctx.lookup(...);
    ...
     和上面的差不多的....
    2.
    也可以通过bean 来访问
    但应主意的是:你应该去掉一个包(名字我忘了在jbuilder的liary里你打开看weblogic的client 和depoy里看看是哪个带有_的 哪个,因为它实际上是没有的)
    3如果说是你的Home接口找不到的话,有可能你更本就没有部署上。还有其实当把jsp编译好了以后也可以放在weblgoic 的一个目录(就是defaultwebApp里)然后启动weblogic直接打开IE就可以调用了