开发 applet 客户机代码

Applet 客户机能通过 HTTP 协议和 RMI-IIOP 协议进行通信。

有关此任务

与驻留在 Web 服务器或WebSphere®应用程序服务器只能使用 HTTP 协议进行通信,applet 客户端能够通过 HTTP 协议和 RMI-IIOP 协议进行通信。 此项附加功能使 Applet 能够直接访问企业 Bean。

标准 Applet 请求 HTML <APPLET> 标记,识别浏览器的 applet。 如果你更换<OBJECT><EMBED>标签,请确保为<OBJECT><EMBED>标签,尤其是<OBJECT classid<EMBED type值。

在 Applet 客户机的代码中初始化 InitialContext 类的实例时,必须设置属性以指定计算机名称、域和端口并将此程序(客户机)标识为 Applet。

示例

Applet 客户机标记需求:标准 applet 需要 HTML <APPLET> 标记以识别浏览器的 applet。 这<APPLET>标签调用浏览器的 Java™ 虚拟机 (JVM)。 也可以替换为<OBJECT><EMBED>标签。 以下代码示例使用 <APPLET> 标记阐明 applet 代码。

<APPLET code="MyAppletClass.class" archive="Applet.jar, EJB.jar" width="600" height="500" >
</APPLET>

以下代码示例说明了使用<OBJECT><EMBED>标签。

<OBJECT classid="clsid: 8AD9C840-044E-11D1-B3E9-00805F499D93"
width="600" height="500">
<PARAM NAME=CODE VALUE=MyAppletClass.class>
<PARAM NAME="archive" VALUE='Applet.jar, EJB.jar'>
<PARAM TYPE="application/x-java-applet;version=1.5.0">
<PARAM NAME="scriptable" VALUE="false">
<PARAM NAME="cache-option" VALUE="Plugin">
<PARAM NAME="cache-archive" VALUE="Applet.jar, EJB.jar">
<COMMENT>
<EMBED type="application/x-java-applet;version=1.5.0" CODE=MyAppletClass.class
ARCHIVE="Applet.jar, EJB.jar" WIDTH="600" HEIGHT="500"
scriptable="false">
<NOEMBED>
</COMMENT>
</NOEMBED>WebSphere Java Application/Applet Thin Client for
Windows is required.
</EMBED>
</OBJECT>
注意力:要成功调用小程序客户端WebSphere Application Server版本6.1或稍后,<OBJECT classid<EMBED type值需要是前面示例中所示的值。

关于 <APPLET> 标记的更多信息,请参阅文章“使用 applet、对象和嵌入标记”。

Applet 客户端代码要求:Applet 与企业 Bean 对话所使用的代码与独立 Java 程序或 servlet 所使用的代码相同,但有一个附加属性除外,即java.naming.applet。 此属性通知InitialContext和对象请求代理 (ORB),该客户端是一个小程序,而不是独立的 Java 应用程序或 servlet。 以下代码示例使用 <APPLET> 标记阐明 applet 代码。

当你初始化一个实例时InitialContext类中,此代码片段的前两行说明了独立 Java 程序和 servlet 发出的指定计算机名称、域和端口的问题。 在此示例中,<yourserver.yourdomain.com>是计算机名称和域WebSphere Application Server驻留,900是配置的端口。 定义引导程序的值 (<yourserver.yourdomain.com>:900) 后,底层的基础结构中出现客户机与服务器之间的通信。 除了 Applet 的前两行,还必须添加第三行代码,标识此程序为 Applet,例如:
prop.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
prop.put(Context.PROVIDER_URL, "iiop://<yourserver.yourdomain.com>:900)
prop.put(Context.APPLET, this);