2011-01-20 53 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