2012-06-16 127 views
3

我正在嘗試將一個applet放入Google站點(因爲域名託管成本高)。我有這個工作,它在網站上。現在,我完全陌生,我的問題是爲什麼我的小程序不工作?Applet的.jar搞亂了嗎?

我嘗試的第一件事就是將所有文件上傳到Google驅動器並在那裏訪問它們(我的小應用程序訪問多個文本文件[只讀,不寫]],但是這給了我一個神奇的數字錯誤,因爲FTP是ASCII這使得類文件都變得愚蠢,或者我已經研究過了。

好吧,所以我得到了一個託管文件的網站,它選擇了FTP(它自動爲我的班級文件做了二進制文件,爲我的文本文件自動做了二進制文件),這使得它更好,但顯然未簽名的小程序無法訪問其他文件比類文件(我認爲)。

所以,我做了一個.jar爲我的小程序使用jar cvf [jar name].jar [blah blah blah, class files I need and text files I need]

我上傳到我的檔案託管網站,唉 - 幻數錯誤! 2東西很多數字。在這一點上,我的HTML代碼是這樣的:

<applet 
codebase = "[URL for jar file]" 
archive = "[jar file].jar" 
code = "[class file].class" 
width = ### 
height = ###> 
</applet> 

偏執,該網站的FTP客戶端與我的罐子搞亂,我使用FileZilla中上傳到我的服務器(一個我選擇的二進制傳輸類型),仍然導致一個幻數錯誤,特別是1347093252,這是我相信一個zip文件的開始(如果它有幫助,當我點擊該文件的鏈接時,它確實下載)。

我可能已經做了一些愚蠢的事情,但我想重申一下,我在這方面是全新的。

如果任何人都可以提供幫助,那就太棒了;我已經嘗試過:清理我的Java緩存並加載小程序(從這裏開始,假設列出的所有內容都以「加載小程序」結尾),再次清除它,關閉瀏覽器,清除我的java緩存,清除緩存 - 關閉我的瀏覽器 - 清除緩存,重新加載,更換電腦,更改互聯網連接,更換電腦和互聯網連接。

+0

您是否嘗試過將您的類文件放入.zip文件並將其重命名爲whatever.jar?一個jar文件本質上只是一個.zip文件,如果你不需要簽名,那麼爲什麼不嘗試? –

+0

我認爲未簽名的applet無法訪問除使用的類文件以外的任何文件?當我嘗試將所有文​​件分開(class1,class2,text2,text2)時,即使我將文件權限(通過託管站點)設置爲適用於所有人的權限(讀取,寫入,執行,任何內容),我仍然會收到權限錯誤 - 只是不斷地說它無法訪問該文件(這是在相同的代碼庫和一切)。 – SSaaM

+0

如果使用JNLP啓動未簽名的小程序,可以在安全沙箱外部運行 –

回答

1

首先,一個未簽名的applet可以從它來自的服務器讀取文件。如果您將圓頂文本文件放在與您的小程序相同的文件夾中,則小程序可以抓取。我認爲這個方法就像getDocumentBase來獲取你的applet加載的目錄。你無法訪問本地文件系統。 使用命令行製作jar文件是一件痛苦的事情。您可能想使用NetBeans等IDE來構建您的項目。

+0

嗯,起初我只是將我的.class文件放在與文本文件相同的目錄中,並且我反覆出現此錯誤: AccessControlException: 訪問被拒絕(「java.io.FilePermission」「text1。DAT「」讀取「) 請注意,我使用了DAT文件,因爲txt只能由支付服務器使用費用的人託管(當我在虛擬機中運行小應用程序時,DAT文件起作用) – SSaaM

+0

也許Web服務器拒絕發送.DAT文件,因爲它沒有註冊該行類型,請嘗試使用瀏覽器加載DAT文件如果只能提供html文件,請使用該文件,它只是文本文件 – Thorn

+0

我的意思是上面的Myme類型。 Web服務器被給出了他們願意服務的受支持文件的列表) 有關我提到的內容和對安全模型的討論的示例,請參閱http://inetjava.sourceforge.net/lectures/part2_applets/InetJava-2.3- applet與通信Abilities.html。 – Thorn