开发 applet 客户机代码

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

有关此任务

典型的小程序驻留在网络服务器或 WebSphere® 应用服务器上,只能使用 HTTP 协议进行通信,与此不同,小程序客户端能够通过 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> 标记阐明 Applet 代码。

<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 V 6.1 或更高版本中成功调用 applet 客户机, <OBJECT classid<EMBED type 值必须是上述示例中显示的值。

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

Applet 客户机代码需求 :applet 用于与企业 Bean 对话的代码与独立 Java 程序或 Servlet 使用的代码相同,但称为 java.naming.applet的其他属性除外。 此属性通知 InitialContext 和对象请求代理 (ORB) 此客户机是 applet 而不是独立 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);