小程序能做啥和不能做啥
Posted
技术标签:
【中文标题】小程序能做啥和不能做啥【英文标题】:What Applets Can and Cannot Do小程序能做什么和不能做什么 【发布时间】:2011-07-22 12:49:43 【问题描述】:我要开发一些小程序,我想知道小程序能做什么,不能做什么。
我知道 Applet 不能写入注册表或 Windows 文件夹。
你知道其他的吗?
谢谢
【问题讨论】:
您的标签中的真正意思是 apple 吗? :) 现在是Applet,我更正了它,°_° 我强烈建议不要在网页中嵌入小程序,并且只在网页中嵌入 感觉就像 1995 年的重演。 小程序?一个更简单的选择是使用java-web-start 直接从链接启动框架。一个 JWS 应用程序。仍然需要完全信任才能使用本机或编辑注册表,但它比小程序更容易部署和维护。 【参考方案1】:官方文档http://download.oracle.com/javase/tutorial/deployment/applet/security.html
很大程度上取决于您是否签署。
我知道其中有一个遗漏....
Java AWT 机器人很棘手,因为它们提供了对小程序的键盘/鼠标访问。你可以做到,但仅来自用户的信任并不能削减它。 在这种情况下,您需要设置自己的自定义安全管理器来授予创建机器人的权限
根据 cmets 为正确性进行了编辑,谢谢大家
【讨论】:
请不要拨打System.setSecurityManager(null);
。您将从其他小程序中删除安全保护。其实,不要乱用小程序中的“全局状态”。
@Tom 是的,它不漂亮。然而,这似乎是从小程序启动 AWTRobot 的唯一方法,这就是我的观点。它没有记录在任何地方,但我之前已经打过这个,即使你相信你会在创建机器人时遇到异常
不漂亮?签名者的签名打开了信任证书的任何人的机器,任何人的代码都可以完全访问。
我明白这就是意图。但是,正如您从***.com/questions/5313672/… 看到的那样,这对我来说并非如此。在我取消安全管理器之前,它根本不允许我的机器人捕获屏幕(AWTPermission createRobot 异常)
@celem "..这似乎是从小程序启动 AWTRobot 的唯一方法.." 这是不正确的。一旦小程序被信任,它就可以设置一个自定义安全管理器,允许其自己的类访问和使用Robot
(或替换安全管理器)。另请注意,我在该线程中对您说“如果小程序受信任,您可以尝试另一件事,_只是作为一个实验_。我强调了最后一部分,强调我希望您会问有关如何在生产环境中执行此操作的更多问题。【参考方案2】:
实际上一个签名的小程序可以通过 JNI 调用访问 Windows 注册表。
有关小程序功能的更多信息,请查看http://en.wikipedia.org/wiki/Java_applet
【讨论】:
以上是关于小程序能做啥和不能做啥的主要内容,如果未能解决你的问题,请参考以下文章