Java Web Start 简介
Oracle Java 教程总结了 Web Start ,如下所示:
Java Web Start 软件只需单击即可启动全功能应用程序。用户可以下载和启动应用程序,例如完整的电子表格程序或 Internet 聊天客户端,而无需经过漫长的安装过程。
Java Web Start 的其他优点是支持签名代码和平台依赖的显式声明,并支持代码缓存和应用程序更新的部署。
Java Web Start 也称为 JavaWS 和 JAWS。主要信息来源是:
- Java 教程 - 课程:Java Web Start
- Java Web Start 指南
- Java Web Start 常见问题解答
- JNLP 规范
javax.jnlp
API 文档- Java Web Start Developers Site
先决条件
在较高的层次上,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。