【问题标题】:Understanding applets了解小程序
【发布时间】:2014-02-20 10:16:57
【问题描述】:

我必须在客户端调用 .exe 文件。

但我不明白使用 Applets 进行 sevler-client 通信。

这么几个问题:

1.我可以使用小程序完成我的任务吗?

2.服务端调用applet jar 方法吗?

提前致谢。

【问题讨论】:

    标签: java applet client-server client


    【解决方案1】:

    Applet 不维护客户端和服务器之间的完整状态通信。

    它是一个在浏览器中运行的 Java 应用程序,可以访问本地系统资源(如果已签名)和现有浏览器会话,即可以使用相同的 cookie 在相同的服务器端会话中执行 HTTP 调用。

    1) 是的,您可以像在任何其他 Java 应用程序中一样在 Applet 中执行任务,但是,对于 Applet,它必须使用数字签名进行签名:http://www.oracle.com/technetwork/java/javase/tech/java-code-signing-1915323.html#60

    2) 不会。Applet 可能拥有的所有类路径依赖项都将被下载并缓存在客户端计算机上。见http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/index.html

    【讨论】:

    • 哦,谢谢。你能告诉我,如何正确地将小程序 jar 放入战争文件中? (或者这里有另一种方法?)applet 将使用哪个路径?我正在制作 webapp,需要从 servlet 调用 applet(这样好吗?)?
    • 看看docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/…。它描述了必须如何部署小程序和所需的 jar。这取决于您选择 -JNLP 或 TAG 的部署方式。关于 servlet - 不确定从 servlet 调用 applet 是什么意思?您使用由servlet生成/输出的javascript调用applet的某些方法,但是您不能从作为服务器端应用程序的servlet调用作为客户端应用程序的applet。
    • 嘿,我已经完成了小程序,将我的库(我知道这不是好方法)添加到资源中,结果将它放在我的 jar 的根目录中。我还对小程序进行了自签名(所以我可以访问我的系统文件)。现在我得到异常,找不到我的库。你能告诉我,我应该把它放在哪里吗?
    • 那是什么库?你能发布一个例外吗?
    【解决方案2】:

    通常不允许访问文件系统,因为小程序可以(应该)在沙盒受限权限环境中运行。因此,只有当小程序具有适当的权限时,才能运行 exe 文件。通常,他们在签名时会获得此类权限。

    话虽如此,尽量不要使用小程序,而是编写适当的 Java 应用程序。您始终可以将 Java 应用程序包装在小程序中,以便从小程序中启动它。

    不太清楚第二个问题是什么意思。

    【讨论】:

      猜你喜欢
      • 2011-03-11
      • 2011-09-27
      • 2021-07-20
      • 2021-11-03
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多