请教:Applet与EJB可以通信吗?

03-09-08 student
如题!

student
2003-09-08 10:25
直接通信。。。。

chinahero
2003-09-08 10:41
applet import ejb client class,然后直接用,行不行?

我感觉可以用吧

chinahero
2003-09-08 10:42
就是不知道有没有安全性要求

mellon
2003-09-08 12:25
兄弟,给你一个建议,想这样的问题你可以这样找到答案:
在google中:输入
EJB "applet client"

不仅可以回答你能不能通信,而且可以找到示例代码。

banq
2003-09-08 21:19
现在比较新的做法,是通过http实现远程EJB方法调用。

student
2003-09-09 10:07
能详细一点吗?或者给个例子或技术站点!
谢谢!!

student
2003-09-09 10:13

Because the Applet client does not provide for a deployment descriptor, the Applet code cannot make use of the JNDI java:/comp lookup. The Applet must know the fully qualified location of the EJB in the JNDI namespace. For example, the JNDI:java:/comp allows lookup of enterprise java beans using a short name or a nickname such as:

java.lang.Object ejbHome = initialContext.lookup("java:/comp/env/ejb/MyEJBHome");
MyEJBHome = (MyEJBHome)javax.rmi.PortableRemoteObject.narrow(ejbHome, MyEJBHome.class);

But the code in an applet client must be more explicit:
java.lang.Object ejbHome = initialContext.lookup("the/fully/qualified/path/to/actual/home/in/namespace/MyEJBHome");
MyEJBHome = (MyEJBHome)javax.rmi.PortableRemoteObject.narrow(ejbHome, MyEJBHome.class);

请教这里的“the/fully/qualified/path/to/actual/home/in/namespace/MyEJBHome”应该怎么写?

chinahero
2003-09-09 11:04
你可以写个servlet提供ejb调用接口,用http调用,这样比较好

student
2003-09-09 11:32
我知道这样比较好,我们在项目中也是这么用的。。。
但是我现在想了解如何去直接调用!

xuhaitao71
2003-09-09 12:12
它说的是这样:
比如你的MyEJBHome打包:package com.jdon.ejb;
则应这样查找:java.lang.Object ejbHome = initialContext.lookup("com/jdon/ejb/MyEJBHome");
我用的是weblogic,你在console中查看JNDI Tree就可以看到。

adiange
2003-09-09 12:36
这样的话,applet中要加入的包比较大,这样客户端看起来比较“胖”

还是再服务器的servlet/jsp访问ejb比较好

除非是application,不在乎客户端的大小