2012-06-16 129 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