我正在开发一个需要在服务器上保存文本文件的applet。在与这个问题摔跤了一段时间后,我在Lynlin.class上偶然发现了可以使用ftp连接发送文件的互联网。如果我在我的C:\ Program Files \ Java \ jre7 \ lib \ security \ java.policy文件中添加以下行,那该工作正常:
permission java.net.SocketPermission "192.168.33.15:*", "connect, accept ,resolve, listen";
如果我尝试从没有编辑java.policy文件的计算机上运行此applet,我会收到以下错误:
java.security.AccessControlException: access denied
("java.net.SocketPermission" "192.168.33.15:21" "connect,resolve")*
除了在将要使用此applet的每台计算机上编辑java.policy文件之外,有谁知道我怎么能摆脱这个问题呢?
只是为了小心翼翼:
我的applet目前尚未签名,但尝试发送文件的服务器与applet所在的服务器相同
http和ftp服务器是在Windows Server 2003上运行的Microsoft IIS(ip 192.168.33.15)
答案 0 :(得分:2)
确切的网址是“\ pwaidc9 ...
这不是网址。它是Windows UNC文件名。您从文件系统下载了applet,而不是TCP主机,因此您无法使用套接字连接它。
签署小程序。
答案 1 :(得分:1)
正如EJP所提到的,提供applet的地址和服务器的地址似乎与运行applet的JRE不同。
必须通过服务器访问HTML(http://..
地址)。
答案 2 :(得分:-1)
如果没有明确的权限允许applet在客户端计算机环境中进行此类活动,则无法进行网络连接。这对于客户机的安全性是如此。默认情况下,所有applet都在受限制的沙盒环境中运行。