我有一個基於應用程序的JApplet。我需要它讀取包含所有數據的基於文本的文件。所以我將它卡在Jar文件中,並且AppletViewer中的一切都變得快樂起來。JApplet在Jar文件中只能從Jar文件中包含的html運行
不幸的是,並非所有的瀏覽器都很開心。
當我嘗試運行從一個html頁面是不是在罐子瀏覽器的小程序,然後我得到了很好的老:java.security.AccessControlException:訪問被拒絕(java.io.FilePermission中
(然後它列出了我的文件系統上的jar的位置和!資源地址)
但是,如果我打開jar文件,像winzip這樣的zip提取器/查看器,並打開啓動applet的頁面(我把在jar裏面)工作的很好,正如預期的那樣,它只能訪問具有相同主機的資源,在這種情況下,它似乎是直接傳遞給jar文件本身的。
所以我的問題是WTF?我可以從瀏覽器中打開jar文件中的html文件嗎?即使在iframe中也可以,只要它不會進一步搞亂權限。
或者我可以從jar外的html頁面調用applet嗎?我現在不使用JNLP,因爲我想盡快拼湊一個原型applet。
<applet code = 'CatalogApplet'
archive = 'ContactCatalog.jar',
width = 1000,
height = 800 />
是對applet的HTML調用的通用性。
我不打算簽署它,因爲它確實不需要簽名。我只是想回電話給jar。
你的問題沒有任何意義。 HTML文件告訴瀏覽器關於JAR文件,而不是其他方式。你的意思是說你不能從你的applet中訪問JAR文件中的其他*資源?請澄清你的問題。 – EJP
我想要一種方式來從jar中,從瀏覽器,而不是任何java代碼運行html。我不知道爲什麼,但我似乎無法獲得非空的AppletContext,所以我必須訴諸怪異的東西來將文本或圖像加載到小程序中。這恰好是一個非常奇怪的工作。 –
這完全沒有意義。瀏覽器無法在JAR中看到HTML文件。它所能做的只是執行一個JAR中的applet。如果沒有「Java代碼」,則沒有小程序,所以也沒有AppletContext。這沒有任何意義。 – EJP