开发 applet 客户机代码
Applet 客户机能通过 HTTP 协议和 RMI-IIOP 协议进行通信。
关于此任务
标准 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 V6.1 或更高版本中的 Applet 客户机,需要将 <OBJECT classid 和 <EMBED
type 值显示在之前的示例中。
关于 <APPLET> 标记的更多信息,请参阅文章“使用 applet、对象和嵌入标记”。
Applet 客户机代码需求:除了名为 java.naming.applet 的一个附加属性以外,Applet 用来和企业 Bean 对话的代码与独立的 Java 程序或 servlet 使用的代码相同。 此属性通知 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);