2011-06-27 53 views
1

我用Eclipse開發了一個applet java,它包含在MyPage.html中。我打電話給一個webservice並得到迴應。它在Eclipse中工作。 Webservice與我的電腦不在同一臺服務器上。所以我認爲我必須簽署我的小程序。我做了如何在瀏覽器中運行java applet?

keytool -genkey -keystore myStore -alias myAlias 
jarsigner -keystore myStore -signedjar sMyJar.jar MyJar.jar myAlias 
keytool -export -alias myAlias -file myCert.cer 

我得到了一個簽名的jar文件,我把它放在文件夾lib中。我有一個類,Test.class,我的小程序,我把文件夾src。 我把這個代碼在我的html頁面:

<div> 
<applet codebase="src/" code="Test.class" height="80" width="300" 
hspace="10" vspace="10" name="Test" archive="lib/sMyJar.jar"></applet> 
</div> 

但我沒有彈出應該問我是否要執行的小程序。即使我將請求的代碼刪除到web服務,並且我寫了一個非常簡單的代碼,但它不會改變任何內容 - 除了代碼有效(例如顯示「hello world」)。

我見過類似的論壇問題:[http://stackoverflow.com/questions/908748/how-do-i-s-a-a-java-applet-for-use-in-a-browser ] [1]:他似乎有同樣的問題,並修復它。他說:「問題在於我的jar文件沒有按照我引用類文件的方式進行編譯」。但我不知道如何改變這種情況,如果這是原因(我是Java中的初學者)。

我應該把Cert文件放在一個特定的文件夾中嗎?

非常感謝您的幫助。

回答

0

當您使用archive參數時,codebase不引用未打包的類文件(瀏覽器不需要)的位置,而是引用歸檔的位置。問題是,你的HTML文件相對於JAR文件在哪裏。例如,假設HTML文件位於父目錄中。然後,你可以寫這樣的:

<applet codebase="lib/" code="Test.class" height="80" width="300" 
hspace="10" vspace="10" name="Test" archive="sMyJar.jar"></applet> 

另外,我知道你提到這是一個考驗,但是我可以從硬盤的經驗告訴你,這是一個非常糟糕的主意,使用默認包在Java中。我強烈建議你不要那樣做。

+0

謝謝你是這個問題! –

+0

感謝您對默認軟件包的建議 - 您絕對正確(我不知道在您告訴我之前是什麼,現在我知道了,並且不會使用默認軟件包)。 –

相關問題