0

我正在编写一个使用 org.apache.commons.net.ftp.FTP 将文件从网页上传到 ftp 服务器的 java 小程序

小程序在eclipse中工作..

我的项目包含 Uploader.java、FtpUpload_thread.java 和 commons-net-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)

所以我必须签署我的小程序..

  • 我制作我的 jar 文件:

    jar cvf Uploader.jar Uploader.class FtpUpload_thread.class commons-net-2.2.jar

  • 我生成密钥:

    keytool -genkey -alias signFiles -keystore compstore

然后我输入程序需要的值.. 现在我有了 compstore 数据库文件

  • 我签署 JAR 文件

    jarsigner -keystore compstore -storepass pass -keypass pass -signedjar UploaderS.jar Uploader.jar signFiles

我有 UploaderS.jar 文件

所以现在我有我的文件夹:

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

这是全部还是我需要其他步骤?

放置我的签名小程序并以权限运行它的 html 代码是什么?

谢谢!

4

1 回答 1

0

我建议使用 java 插件而不是 <applet> 标记。

您必须指定班级所需的所有 jar 并使用已签名的存档

<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>

我还建议在你的小程序类上放一个包。

我不确定如何指定小程序使用的权限。

希望这可以帮助。

于 2011-01-20T18:18:03.270 回答