2011-01-20 51 views
0

我正在寫使用 org.apache.commons.net.ftp.FTP從網頁註冊Java小程序一步步

小程序在eclipse工程文件上傳到FTP服務器的Java小程序..

我的項目包含Uploader.java,FtpUpload_thread.java和公共淨2.2.jar(導入org.apache.commons.net.ftp.FTP)文件..

我編譯我的使用cmd命令的類:

javac *.java -cp *.jar 

我把類的html:

<applet code="Uploader.class" codebase="./" archive="commons-net-2.2.jar" width="600" height="230"></applet> 

但是當我嘗試建立連接出現錯誤:

java.security.AccessControlException: access denied (java.net.SocketPermission /*myftp*/ resolve) 

所以我要我簽字的applet ..

  • 我使我的jar文件:

    jar cvf Uploader.jar Uploader.class FtpUpload_threa d.class公共淨2.2.jar

  • 我生成密鑰:

    的keytool -genkey -alias signFiles -keystore compstore

,然後我把該程序需要的值。 。 現在我有compstore數據庫文件

  • 我註冊的JAR文件

    的jarsigner -keystore compstore -storepass通過 -keypass通過 -signedjar UploaderS.jar Uploader.jar signFiles

和我有UploaderS.jar文件

所以現在我有我的文件夾:

Uploader.jar 
UploaderS.jar 
compstore 
Uploader.class 
commons-net-2.2.jar 
FtpUpload_thread.class 

這一切或我需要其他步驟?

什麼是將我的標誌小程序,並與權限運行它的HTML代碼?

謝謝!

+0

我解決了它重新編譯與我的類放在一起的所有Apache庫,所以我生成一個獨特的jar文件,然後我簽署它 – frx08 2011-01-20 23:08:06

回答

0

我會推薦使用java插件而不是<applet>標籤。

您必須指定所有的類所需的罐子和使用簽字存檔

<object classid="clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA" width="600" height="230"> 
    <param name="code" value="Uploader" /> 
    <param name="java_archive" value="UploaderS.jar, commons-net.jar" /> 
    <comment> 
     <embed width="600" height="230" code="Uploader" type="application/x-java-applet;version=1.6" archive="UploaderS.jar, commons-net.jar"> 
      <noembed> 
       No Java Support. 
      </noembed> 
     </embed> 
    </comment> 
</object> 

我還建議把一個包放在你的Applet類。

我不知道如何去指定applet使用的權限。

希望這會有所幫助。

+1

1)我會建議使用deployJava.js腳本處理所有的applet /對象/嵌入。 2)如果這個applet來自同一臺服務器,它需要簽名的唯一原因是訪問要上傳的文件。 3)如果用戶擁有新一代插件(Java 1.6.0_10 +),則可以使用JWS進行部署並使用JNLP API。 JNLP API甚至允許使用沙盒(未簽名)的應用程序。訪問本地文件系統。 – 2011-01-21 05:52:08