一般我們知道在JAVA程序中可以用ObjectOutputStream類來傳送對象,在網(wǎng)絡(luò)上更加顯示了其的功能強大,最近在做一個網(wǎng)絡(luò)對戰(zhàn)平臺,其間需要很多傳送對象的地方,開始并沒太在意,但在開發(fā)中遇到后,卻讓我困惑不已,從客戶端傳往服務器端的對象,被服務器端接收讀取后,卻報了ClassNotFoundException異常,難道是我沒初始化?檢查了所有代碼,找不到原因,也請同學,朋友幫我看了代碼,都找不到原因,一個偶然的機會,發(fā)現(xiàn)了服務器端報出的異常中出現(xiàn)了包名(
兩天后才注意到的),注意到了在服務器端的.class文件放置與客戶端的不一致,于是將傳送的類在客戶端的路徑記下,也將服務器端的相應的類的路徑改為與客戶端一致,問題總算解決了,希望這兩天的困惑對大家又用吧。。。。。。
開始的時候所傳送類在:
服務器端打包:package com..cz;
客戶端打包:packjage com.cxy;
更改后所傳送的類在:
服務器端打包:package com..cxy;
客戶端打包:package com..cxy;
希望實現(xiàn)一個Applet與另外一個Applet進行通訊時,必須用getAppletContext()方法先取得另外一個Applet的句柄,再用getAplplet(name)方法取得Applet,具體代碼實例如下:
AppletContext ac = getAppletContext();
Text.append(“good luck”+”\n”);
其中other是另外一個Applet的名字:
<html>
<applet code = “applet.java” width=”300” height=”200” name=”other”>
</applet>
</html>
而getComponent(2)中的參數(shù)“2”是指添加到Applet中的組件的次序(從1開始);
這樣我們就能操縱另外一個Applet中的組件了。
2005年12月18日