在WebLogic下ejb的客戶端程序的形式和特點

發表于:2007-07-01來源:作者:點擊數: 標簽:
對于 weblogic 的客戶端程序可以是JSP/servlet,也可以是Application的。1)jsp/servlet與EJB運行在同一個應用 服務器 上,其典型代碼可如下:(無須建立t3協議下的連接,直接由客戶端完成) Context ctx=new InitialContext(); Object obj =ctx.lookup(ejb/co
對于weblogic的客戶端程序可以是JSP/servlet,也可以是Application的。1)jsp/servlet與EJB運行在同一個應用服務器上,其典型代碼可如下:(無須建立t3協議下的連接,直接由客戶端完成)                   Context ctx=new InitialContext();                 Object obj =ctx.lookup("ejb/com/J2EE/first/ejb/HelloHome");                HelloHome trH=(HelloHome) PortableRemoteObject.narrow(obj,HelloHome.class);           Hello tr=trH.create();           out.println(tr.hello()); 注:該jndi-name可以放到web.xml中并用String JNDIName=getServletConfig().getInitParameter("para-name")來獲得jndi.2)對于一般的application而言,就與ejb不在同一個應用服務器下,那怕是在同一臺機器上。  注意:(1)在客戶端的系統變量要有:..\weblogic81 erver\lib\weblogic.jar; 否則不能運行。        (2)在文件配置必須要有:遠程類,遠程home類(一般不包含bean類,即業務類)才能確??蛻纛惖倪\行。        通常以包的形式來組織這些文件,要注意按package是否正確的配置,否則出錯。  其典型代碼可如下:             String url="t3://localhost:7001";     Properties prop=new Properties();     prop.put(Context.PROVIDER_URL,url);            prop.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");            prop.put(Context.SECURITY_PRINCIPAL, "name");         prop.put(Context.SECURITY_CREDENTIALS,"code");     Context ctx=new InitialContext(prop);  Object obj=ctx.lookup("ejb/com/J2EE/first/ejb/HelloHome");  HelloHome trH=(HelloHome) PortableRemoteObject.narrow(obj,HelloHome.class);  Hello tr=trH.create();  System.out.println(tr.hello());      注意:Context.SECURITY_PRINCIPAL和Context.SECURITY_CREDENTIALS是可選的,涉及到對ejb的操作的權限。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97