gpt4 book ai didi

java - 在客户端执行代码

转载 作者:行者123 更新时间:2023-11-30 04:23:47 25 4
gpt4 key购买 nike

我有一个要求,当用户单击网页上的链接[这是一个内部网页]时,需要执行部署到客户端的jar。详细地说,我有一个网页,其中提供了有关多个产品的详细信息,现在当各个产品所有者单击他们的产品时,需要执行产品特定的 jar 来打开 Swing UI。

我对此进行了分析,由于安全原因,没有任何库框架允许这样做 Run EXE from client side .

我建议使用小程序来执行此操作,但人们并不热衷于它。

编辑:排除applet的原因是人们不热衷于在服务器上部署jar。他们想在客户端部署jar然后执行它。

编辑:不热衷于下载jar的原因是:

  1. Jar 很大,在某些情况下大约 100 mb。
  2. 如果必须将 jar 部署到 Web 服务器上,则会添加产品希望避免的依赖项,因为它们不希望与 Web 应用程序的发布周期同步。

是否有任何选项可以在某些检查下执行客户端代码?例如:将特定 IP 地址设置为安全地址以绕过安全检查。

最佳答案

Java Web Start可能是此部署的方法。

The issue people do not want to download the jar, they want pre-installed jar to be executed

重点是“用户”不会下载 Jar,而是由运行用户单击的启动文件的 JWS 客户端以不可见的方式完成下载。试试我的JWS version of GIFanim举个经验的例子。

请注意,即使该应用程序。是沙盒的,在到达屏幕之前仍然有提示。自版本 1.7.0_21 起,这些提示适用于小程序和 JWS 应用程序。

<小时/>

最终,无法运行基于 Swing 的应用程序。在下载 Jar 之前。例如:-

  1. 用户下载可执行 Jar 并运行它。他们需要在明显正在下载 Jar 的情况下下载 Jar。
  2. 小程序。当 applet 元素(或等效元素)出现在网页中时,JVM 将被调用。 JVM 将下载并缓存 Jar - 对于用户来说相对不可见,除了小程序中的“正在加载..”进度条。
  3. Java Web 启动。当用户单击 JNLP 文件的链接时,将调用 JWS 客户端。该 JNLP 将在本地缓存,然后资源(Jars 等)将在本地缓存,然后是应用程序。将被运行。同样,除了下载时间和任何相关的进度指示器(JWS 默认情况下)之外,用户相对不可见。

..when individual product owners click on their products then product specific jars need to be executed to open Swing UI.

您将为每个“更具体”的应用程序提供一个 JNLP。同样,您也可以使用 JNLP API 的 BasicService 来调用相关应用程序。通过打开该应用程序的JNLP。这是一个 demo. of the BasicService .

关于java - 在客户端执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com