2024年5月6日发(作者:)

Java Web Start

客户机端开发和分发 Java 应用程序

级别: 初级

文档选项

Steven Kim (kimst@), 软件工程师, Tivoli-IBM

2001 年 9 月 11 日

此页作为电子

Java Web Start 是帮助客户机端应用程序开发的一个新技术,它的独特

邮件发送

之处在于将您从关心客户机是如何启动的(从 Web 浏览器或是桌面)

显示需要

中解放出来。另外,该技术提供了一个使 Web 服务器能独立的分发和

JavaScript 的文

更新客户机代码的集合部署方案。软件工程师 Steve Kim 介绍了该新

档选项

技术(该技术预定将集成进Java 1.4 的最终发行版),并从开发者和

用户的角度进行了描述。您可以在 讨论论坛与作者和其他读者分享您对

例代码

这篇文章的看法。

在现今的不断发展的软件业市场,用户强烈要求客户机应用程序不但能运行在台式机环境,还

能运行在因特网。用户希望他们从基于 Web 的应用程序获得与从台式机获得的相同的功能和

支持,而且最好是用瘦客户机接口打包。目前,最通用的解决方案是开发两个独立的 Java 应

用程序:一个作为台式机应用程序执行,另一个模仿台式机应用程序的多数功能,但是通过 Web

访问。这对开发者是个负担,开发者要写两个独立的在不同的执行环境执行相同的功能的应用

程序,然而对软件公司也是个财政负担,软件公司被迫为两个独立的应用程序提供支持。为缓

解该问题,Sun Microsystems 引进了 Java Web Start,它是个使 Java 应用程序可以从台式

机或 Web 页面启动的客户机端技术。这消除了为 Web 应用程序开发 Java 支持的需要,而

且还提供了一个有效方式来升级、维护和管理任何通用的 Web 服务器都支持的客户端的 Java

应用程序。

什么是 Java Web Start?

Java Web Start 是一个软件技术,它包含了 applet 的可移植性、Servlet 和 JavaServer

Pages (JSP)的可维护性以及象 XML 和 HTML 这样的标记语言的简易性。它是基于 Java

的应用程序,允许从标准的 Web 服务器启动、部署和更新功能完全的 Java 2 客户机应用程

序。在第一次启动 Java Web Start 时,用户可以从 Web 下载新的客户机应用程序;之后这

些应用程序可以通过 Web 页面的链接或(Windows 中的)桌面图标或“开始”菜单初始化。应

用程序在 Java Web Start 下快速初始化,被高速缓存在客户机,并且可以远程的离线启动。

另外,因为 Java Web Start 是从 Java 2 技术建立起来的,所以它继承了 Java 平台的完整

的安全性体系结构。

由于 Java Web Start 自身是一个 Java 应用程序,所以该软件是平台独立的,并且支持 Java

2 平台的任何客户机系统都支持该软件。当客户机应用程序启动时,Java Web Start 自动执行

更新,在从原来的高速缓存(倘若存在高速缓存)装入应用程序的同时,从 Web 下载最新的

代码。Java Web Start 还提供了一个 Java 应用程序管理器(Java Application Manager)实

用程序,既提供了多种选项,如清除下载的应用程序的高速缓存、指定多种 JRE 的使用、设

置 HTTP 代理,还允许最终用户组织他们的 Java 应用程序。

Java Web Start 对 Java 插件

Java Web Start 和 Java 插件的一个共同作用是:允许 Java 程序从任何地方、在任何平台安

全运行。两种 Java 技术都提供了可以启动和执行 Java 程序的“沙箱(sandbox)”安全环境,

还具有高速缓存应用程序和指定使用的 JRE 的能力。Java Web Start 和 Java 插件的根本不

同是 Java 插件限于在 Web 浏览器环境中运行的 Java applet。Java 插件严重的依赖于

Web 浏览器的 JRE,并且如果没有浏览器就不能运行。另一方面,Java Web Start 可以在

Web 页面单击链接或是单击 Java 应用程序管理器来启动 Java 应用程序。在 Windows 操

作系统中,用户可以从开始菜单或是只要双击桌面图标来启动应用程序。如果浏览器窗口被关

闭,从 Web 浏览器启动的客户机应用程序不会受到影响。

尽管 Java Web Start 确实支持 Java applet,而且确实包含内置的 Appletviewer,但这个技

术的最初目的是启动和部署 Java 客户机应用程序。某些约束,如 applet 的策略文件不受支

持。

用户观点的 Java Web Start

Java Web Start 不仅允许开发者开发可从 Web 页面启动和执行的应用程序(不只是 applet),

还强调了无需任何用户交互就可以为现存的客户机代码提供透明更新的部署方案。为帮助您理

解这个过程、帮助您决定是否为与 Java Web Start 的兼容性而开发自己的应用程序,我们将

从用户的观点来看这个产品。我将从两个基本的用户场景(安装 Java Web Start 和从使用

Java Web Start 的 Web 下载和启动应用程序)的基本解释开始。

首次安装 Java Web Start

Java 插件无需用户在客户机安装任何的应用程序,与 Java 插件不同,Java Web Start 必须

要安装在每台用于从 Web 来启动 Java 应用程序的客户机。当用户试图用 Java Web Start

启动一个基于 Web 的应用程序时,Web 浏览器将启动 Java Web Start 从而开始下载适当的

文件。

如果 Java Web Start 安装在本地机的话,那么需要的应用程序将正常的启动和进行。另一方

面,如果 Java Web Start 还没安装,用户将被提示要下载该程序。一旦用户同意下载 Java

Web Start 并且已经下载了该文件,用户就必须运行程序来安装 Java Web Start,如图 1 所

示。

图 1. 安装 Java Web Start