Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在客户端执行代码_Java_Client Side_Executable - Fatal编程技术网

Java 在客户端执行代码

Java 在客户端执行代码,java,client-side,executable,Java,Client Side,Executable,我有一个要求,当用户点击网页上的链接[这是一个内部网页]时,需要执行部署到客户端的jar。更详细地说,我有一个web页面,它提供了关于多个产品的详细信息,现在当单个产品所有者单击他们的产品时,需要执行特定于产品的JAR来打开Swing UI 我已经对此进行了分析,由于安全原因,没有一个库框架允许这样做 我建议使用applet执行此操作,但人们对此不感兴趣 编辑: 排除applet的原因是人们不喜欢在服务器上部署jar。他们希望在客户端部署jar,然后执行它 编辑: 不热衷于下载jar的原因有:

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

我已经对此进行了分析,由于安全原因,没有一个库框架允许这样做

我建议使用applet执行此操作,但人们对此不感兴趣

编辑: 排除applet的原因是人们不喜欢在服务器上部署jar。他们希望在客户端部署jar,然后执行它

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

  • Jar是巨大的,在某些情况下大约为100MB
  • 若必须将jar部署到web服务器上,那个么会添加一个依赖项,因为这些产品不想和web应用程序的发布周期同步,所以需要避免使用这些依赖项 在某些检查下是否有执行客户端代码的选项?例如:将特定IP地址设置为安全的,以便通过安全检查。

    使用web start

    请参阅此链接

    web start允许客户机在jar驻留在web上的地方运行java应用程序

    可能是进行此部署的方法

    问题是人们不想下载jar,他们希望执行预安装的jar

    关键是“用户”不下载Jar,而是由运行用户单击的启动文件的JWS客户端以不可见的方式完成。试着用我的经验作为例子

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


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

  • 用户下载可执行Jar并运行它。他们需要在Jar被下载的情况下下载Jar
  • 小程序。当网页中出现
    applet
    元素(或等效元素)时,将调用JVM。JVM将下载并缓存Jar-用户相对不可见,小程序中的“loading..”进度条除外
  • JavaWebStart。当用户单击指向JNLP文件的链接时,将调用JWS客户端。JNLP将在本地缓存,然后资源(JAR等)将在本地缓存,然后应用程序将在本地缓存。将运行。同样,用户相对不可见,除非下载时间和任何相关的进度指标(JWS默认情况下会这样做)
  • …当单个产品所有者单击其产品时,需要执行特定于产品的JAR以打开Swing UI


    每个“更具体”的应用程序都有一个JNLP。同样,您也可以使用JNLPAPI的
    BasicService
    来调用相关的应用程序。通过打开该应用程序的JNLP。这是一个。

    您看过Java Web Start吗?您看过Java Web Start吗?不,让我分析一下,JWS的最佳链接是;)@AndrewThompson:乍一看,JWS的工作方式几乎和applet一样。它将从服务器下载jar。对吗?问题是人们不想下载jar,他们想执行预安装的jar。作为JWS的顶级答案提供商,我记得读过那个页面,最后想..WTF就是JWS?!?OTOH我将我在JWS方面的最佳经验融入了SO的课程中。我认为它还链接到该页面(以及许多更有用的页面)。“jar驻留在web上的位置”它从web开始,但在运行之前缓存在本地。@aymankoo:这不会解决问题。问题是人们不想下载jar,他们希望执行预安装的jar。Jar是巨大的,在某些情况下大约为100MB。2.若必须将jar部署到web服务器上,那个么会添加一个依赖项,这些依赖项是产品想要避免的,因为它们不想和web应用程序的发布周期同步。这让我觉得JWS无法解决这个问题。你同意吗?@loki,除非你可以使用“小型”客户端连接到web应用程序。(例如servlets、RMI)本身可以使用100兆欧。Jar,Swing客户端根本无法在本地运行该Jar,或者使用它的功能,除非下载它。100兆罐的具体用途是什么?它是什么API?为什么这么大?