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

如题!

直接通信。。。。

applet import ejb client class,然后直接用,行不行?

我感觉可以用吧

就是不知道有没有安全性要求

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

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

现在比较新的做法,是通过http实现远程EJB方法调用。

能详细一点吗?或者给个例子或技术站点!
谢谢!!


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”应该怎么写?

你可以写个servlet提供ejb调用接口,用http调用,这样比较好

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

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

这样的话,applet中要加入的包比较大,这样客户端看起来比较“胖”

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

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