2009-12-27 43 views
3

我創建了一個使用兩個外部庫(JENAJUNG)的JApplet。當我從IDE(使用eclipse)運行它時,applet可以正常工作。我創建了一個jar文件並對它進行了簽名(因爲applet需要從磁盤讀取文本)創建了一個HTML頁面來存放applet,但是當我嘗試在web瀏覽器中運行它時,我得到了java安全警告對話框,當我按運行整個瀏覽器選項卡似乎掛起。試圖讓一個簽名的applet在瀏覽器中工作,但無法成功

下面是HTML文件,我寫道:

<html> 
    <head> 
     <title>Ontology Application</title> 
    </head> 
    <body> 
     <applet code="assignment.Launcher.class" width="1000" height="800" archive="test.jar"></applet> 
    </body> 
</html> 

啓動程序類包含初始化,啓動,停止和銷燬方法,並在項目中使用的所有類都存儲在任務包。 test.jar是簽名的jar文件,它被放置在與HTML文件相同的文件夾中。

我跟着這個線程的步驟來創建我的私人/公共密鑰,證書和簽名的jar文件:因爲我不確定幾個 How to sign and applet (and get it to work)

我有關於整個過程的問題清單的步驟。

問題1:我使用eclipse創建了jar文件(右鍵單擊project - > export - > JAR文件)並保持默認設置。生成的jar文件是否包含我導入到項目中的引用庫?如果答案是否定的,我如何在jar文件中包含引用的庫?

問題2:如果雙擊它,生成的jar文件應該運行嗎?因爲它不運行 (我想是因爲沒有主類指定,因爲一個小程序沒有一個主要方法是行不通的,但我的立場予以糾正)

問題3:由於我使用我的小應用程序中的外部庫,是否需要對所有導入的jar文件進行數字簽名才能使小程序正常工作?或者簽署主jar文件(包含我的類)就足夠了?

問題4:如果有一天我設法使applet在瀏覽器中工作,每當應用程序嘗試從磁盤讀取文本時,Java安全警告對話框會彈出嗎?或者在applet加載時安全警告對話框只顯示一次?

在此先感謝,並詢問問題負載在一個線程遺憾,但他們密切相關的主題:)

+0

是非常明顯的,但我覺得一個值得的:如果你不知道你在做什麼,你是否覺得從簽名的含義,即簽字聲稱這是安全的? – 2009-12-28 01:35:40

+0

我沒有任何信任和安全問題,因爲我正在開發的項目只是一個學校作業:) – 2009-12-28 07:44:06

回答

4
  1. 你應該在你的HTML applet的聲明中使用<PARAM NAME="archive" VALUE='applet.jar, external1.jar, external2.jar'>。你也可以嘗試加入Class-Path到你的主罐MANIFEST.MF(見here
  2. 號除非你有一個Main-Class指定您MANIFEST.MF
  3. 是,萬一外部罐子做一些安全敏感操作(如閱讀/寫文件系統)
+0

感謝您的回答,我會嘗試您的建議,看看我是否可以得到它的工作。 – 2009-12-28 07:44:56

相關問題