Java Web Start 简介

Oracle Java 教程总结了 Web Start ,如下所示:

Java Web Start 软件只需单击即可启动全功能应用程序。用户可以下载和启动应用程序,例如完整的电子表格程序或 Internet 聊天客户端,而无需经过漫长的安装过程。

Java Web Start 的其他优点是支持签名代码和平台依赖的显式声明,并支持代码缓存和应用程序更新的部署。

Java Web Start 也称为 JavaWS 和 JAWS。主要信息来源是:

先决条件

在较高的层次上,Web Start 的工作原理是从远程 Web 服务器分发打包为 JAR 文件的 Java 应用程序。先决条件是:

  • 在要运行应用程序的目标计算机上预先存在的 Java 安装(JRE 或 JDK)。需要 Java 1.2.2 或更高版本:

    • 从 Java 5.0 开始,Web Start 支持包含在 JRE / JDK 中。
    • 对于早期版本,Web Start 支持是单独安装的。
    • Web Start 基础结构包括一些可以包含在网页中的 Javascript,以帮助用户安装必要的软件。
  • 托管软件的 Web 服务器必须可供目标计算机访问。

  • 如果用户要使用网页中的链接启动 Web Start 应用程序,则:

    • 他们需要一个兼容的网络浏览器,和
    • 对于现代(安全)浏览器,需要告诉他们如何告诉浏览器允许 Java 运行……而不会影响 Web 浏览器的安全性。

一个示例 JNLP 文件

以下示例旨在说明 JNLP 的基本功能。

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="https://www.example.com/demo" 
    href="demo_webstart.jnlp">
    <information>
        <title>Demo</title>
        <vendor>The Example.com Team</vendor>
    </information>
    <resources>
        <!-- Application Resources -->
        <j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="Demo.jar" main="true"/>
    </resources>
    <application-desc
         name="Demo Application"
         main-class="com.example.jwsdemo.Main"
         width="300"
         height="300">
     </application-desc>
     <update check="background"/>
</jnlp>    

如你所见,基于 XML 的 JNLP 文件,信息全部包含在 <jnlp> 元素中。

  • spec 属性给出了此文件符合的 JNPL 规范的版本。
  • codebase 属性提供了用于解析文件其余部分中相对 href URL 的基本 URL。
  • href 属性为此 JNLP 文件提供了确定的 URL。
  • <information> 元素包含应用程序的元数据,包括其标题,作者,描述和帮助网站。
  • <resources> 元素描述了应用程序的依赖关系,包括所需的 Java 版本,OS 平台和 JAR 文件。
  • <application-desc>(或 <applet-desc>)元素提供启动应用程序所需的信息。

设置 Web 服务器

必须将 Web 服务器配置为使用 application/x-java-jnlp-file 作为 .jnlp 文件的 MIME 类型。

必须在 Web 服务器上安装 JNLP 文件和应用程序的 JAR 文件,以便使用 JNLP 文件指示的 URL 可以使用它们。

通过网页启用启动

如果要通过 Web 链接启动应用程序,则必须在 Web 服务器上创建包含该链接的页面。

  • 如果你可以假设已在用户的计算机上安装了 Java Web Start,则该网页只需包含用于启动应用程序的链接。例如。

    <a href="https://www.example.com/demo_webstart.jnlp">Launch the application</a>
    
  • 否则,页面还应包含一些脚本,以检测用户正在使用的浏览器类型,并请求下载和安装所需的 Java 版本。

注意: 鼓励用户鼓励以这种方式安装 Java,甚至在其 Web 浏览器中启用 Java 以便 JNLP 网页启动可行,这是一个坏主意。

从命令行启动 Web Start 应用程序

从命令行启动 Web Start 应用程序的说明很简单。假设用户安装了 Java 5.0 JRE 或 JDK,只需运行以下命令:

$ javaws <url>

其中 <url> 是远程服务器上 JNLP 文件的 URL。