很多朋友在使用JBuilder來做CORBA Applet的時候,會遇到不少困難。下面是一個教程,不懂的朋友可以照著做一遍,因為能成功,就不會失去信心。然後可以自己再摸一摸。本文中的有些做法不是必須的(甚至是多余的),有些則非此不可。讀者可以自己多琢磨琢磨,慢慢也就懂了。
准備工作:
軟件
JB4E,JDK1.2,jre-1_2_2_005-win.exe(PlugIn1.2.2_005),Win2000P,IE5
安裝及設置
JDK1.2
JB4E及所帶的AppServer4.1,並確保已經能做CORBA程序了(JB IDE配置正確)
用RegSvr32/u …beans.ocx卸掉已有的PlugIn,以防干擾。beans.ocx文件所在的目錄可用regedit來在注冊表中查看。
開始:
1.New一個Project並設置你的Project的JDK指向1.2
2.書寫以下IDL
module Module1 {
interface Interface1 {
long operation1();
};
};
3.生成Server並實現。這裡讓實現代碼如下:
public int operation1() {
ServerMonitor.log("(" + _name + ")Interface1Impl.java operation1()");
return (int)System.currentTimeMillis();
}
粗體字為所輸入代碼
4.生成一個Applet,加一個jButton和一個jLabel並讓局部代碼如下:
public class Applet1 extends JApplet {
private untitled1.Module1.Interface1 _interface1;
String _name = "Interface1";
/**Initialize the applet*/
public void init() {
try {
jbInit();
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(this, null);
_interface1 = untitled1.Module1.Interface1Helper.bind(orb, "/" + _name + "_poa", _name.getBytes());
…
void jButton1_actionPerformed(ActionEvent e) {
jLabel1.setText(new Integer(_interface1.operation1()).toString());
}
5.編譯並打包
6.用以下命令啟動AppServer
ias ?javahome c:\jbuilder4\jdk1.3
7.在IDE中啟動Server
8.啟動一個dos command窗口,進入以下目錄
cd \inprise\appserver\html\public_html\
9.拷貝以下文件到該目錄下
untitled1.jar
vbjorb.jar
Applet1.html
jre-1_2_2_005-win.exe
10.修改Applet1.html為Applet2.html,如下
<HTML>
<HEAD>
<TITLE>
HTML Test Page
</TITLE>
</HEAD>
<BODY>
untitled1.Applet1 will appear below in a Java enabled browser.<BR>
<APPLET
CODEBASE = "."
archive="vbjorb.jar , untitled1.jar"
CODE = "untitled1.Applet1.class"
NAME = "TestApplet"
WIDTH = 400
HEIGHT = 300
HSPACE = 0
VSPACE = 0
ALIGN = middle
>
<PARAM NAME="org.omg.CORBA.ORBClass" VALUE="com.inprise.vbroker.orb.ORB">
<PARAM NAME="vbroker.orb.alwaysTunnel" VALUE="true">
<PARAM NAME="vbroker.orb.gatekeeper.ior" VALUE="">
</APPLET>
</BODY>
</HTML>
11.修改Applet1.html為Applet3.html,如下
<HTML>
<HEAD>
<TITLE>
HTML Test Page
</TITLE>
</HEAD>
<BODY>
untitled1.Applet1 will appear below in a Java enabled browser.<BR>
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
WIDTH = 400
HEIGHT = 300
NAME = "TestApplet"
ALIGN = middle
VSPACE = 0
HSPACE = 0
codebase="http://127.0.0.1:8080/jre-1_2_2_005-win.exe#Version=1,2,2,0">
<PARAM NAME = CODE VALUE = "untitled1.Applet1.class" >
<PARAM NAME = CODEBASE VALUE = "." >
<PARAM NAME = ARCHIVE VALUE ="Untitled1.jar , vbjorb.jar" >
<PARAM NAME = NAME VALUE = "TestApplet" >
<PARAM NAME="org.omg.CORBA.ORBClass" VALUE="com.inprise.vbroker.orb.ORB">
<PARAM NAME="vbroker.orb.alwaysTunnel" VALUE="true">
<PARAM NAME="vbroker.orb.gatekeeper.ior" VALUE="">
</BODY>
</HTML>
粗體字(IP地址)可以為13步中所顯示的值
12.在該目錄下執行
start gatekeeper
13.執行以下程序,記下其中的IP地址
printior gatekeeper.ior
14.執行以下程序觀察運行結果
\jdk1.2\bin\appletviewer http:/…:8080/Applet2.html
其中URL主機地址為上一步所看到的IP地址
15.在IE5中輸入以下URL,觀察運行結果
http://…:8080/Applet3.html
其中URL主機地址為13步中所看到的IP地址
怎麼樣?是不是看到太陽升起來了?