当前位置:首页 » 网页前端 » JavaWebStart
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

JavaWebStart

发布时间: 2022-03-13 20:15:15

1. java web start是干什么的

JavaTM Web Start 是基于 Java 技术的应用程序的一种部署解决方案。它是连接计算机和 Internet 的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序。Java Web Start 提供一次单击激活应用程序的简易方法,并保证始终运行应用程序的最新版本,从而可避免复杂的安装或升级过程。

传统情况下,通过 Web 发布软件需要用户在 Web 上查找、下载,而后在系统中存放并执行安装程序。执行安装程序后,将提示指定安装路径和安装选项,例如完全、典型或最小安装。这是一项耗时而又复杂的任务,并且在安装软件的每个新版本时都必须重复进行。

相反,通过 Web 部署的应用程序,例如您喜爱的基于 HTML 的电子邮件客户软件和日历、拍卖站点等等,都非常容易安装和使用。Web 浏览器使整个过程自动完成。没有复杂的下载、安装和配置过程,并且确保您始终使用最新版本。

更多介绍请参考:
http://www.aspgood.com/Article/Program/Java/200510/Article_772.html

2. 什么是 Java Web Start 软件以及如何启动它

什么是 Java Web Start 软件? Java Web Start 软件使您可以从 Web 下载和运行 Java 应用程序。Java Web Start 软件: 提供一种单击一次即可激活应用程序的便捷方法保证您始终运行最新版本的应用程序避免了复杂的安装或升级过程 获得Java Web Start 软件 从Java 5.0 发布版本开始,Java Runtime Environment (JRE) 中就包含 Java Web Start。这意味着安装 Java 时,将自动安装 Java Web Start。第一次下载采用 Java Web Start 技术的 Java 应用程序时,Java Web Start 软件会自动启动。Java Web Start 软件将整个应用程序高速缓存存储)到本地计算机上。这样,所有必需的资源都已保存在本地,因此以后再次启动时几乎可以瞬间完成。每次启动应用程序时,Java Web Start 软件组件都会检查应用程序的 Web 站点以确定是否有新的版本;如果有,则立即下载并启动新版本。 使用Java Web Start 软件启动应用程序通过浏览器:从Web 页面上单击对应的链接。通过桌面图标:如果您经常使用某一应用程序,则可以在桌面上或“开始”菜单中创建该应用程序的快捷方式。Java Web Start 软件会询问您是否想在“开始”菜单中创建快捷方式或条目。如果您回答“是”,则将来无需使用浏览器便可启动该应用程序。通过Java Application Cache Viewer:Java Web Start 软件还提供了 Application Cache Viewer,您可以从 Java 控制面板上启动它。Cache Viewer 允许您直接启动已下载的应用程序。 通过Application Cache Viewer 启动应用程序的说明转至“开始 > 设置 > 控制面板”,然后双击 Java 图标。此时将启动“Java 控制面板”。 单击“常规”选项卡。 单击“Internet 临时文件”区域内的“设置”按钮。 单击“查看应用程序”按钮。 从列表中双击您要启动的相应应用程序。通过命令提示符:您还可以通过在命令提示符下键入 javaws jnlp_url 来启动应用程序,其中 jnlp_url 是应用程序的 jnlp 文件的 URL 地址。 转至“开始 > 运行”,然后键入 command。 此时将显示命令提示符窗口。键入javaws url_of_jnlp 更多技术信息 有关更多技术信息,请参见: Java Web Start 软件开发者文档

3. 什么是 Java Web Start 软件以及如何启动它

Java Web Start 软件使您可以从 Web 下载和运行 Java 应用程序。

Java Web Start 软件:

提供一种单击一次即可激活应用程序的便捷方法

保证您始终运行最新版本的应用程序

避免了复杂的安装或升级过程

获得 Java Web Start 软件

从 Java 5.0 发布版本开始,Java 运行时环境 (JRE) 中就包含 Java Web Start。这意味着安装 Java 时,将自动安装 Java Web Start。第一次下载采用 Java Web Start 技术的 Java 应用程序时,Java Web Start 软件会自动启动。Java Web Start 软件将整个应用程序高速缓存(存储)到本地计算机上。这样,所有必需的资源都已保存在本地,因此以后再次启动时几乎可以瞬间完成。每次启动应用程序时,Java Web Start 软件组件都会检查应用程序的 Web 站点以确定是否有新的版本;如果有,则立即下载并启动新版本。

使用 Java Web Start 软件启动应用程序

通过浏览器

单击 Web 页中的链接。

通过桌面图标

如果您经常使用某一应用程序,则可以在桌面上或“开始”菜单中创建该应用程序的快捷方式。Java Web Start 会询问您是否想在“开始”菜单中创建快捷方式或条目。如果您回答“是”,则将来无需使用浏览器便可启动该应用程序。

通过 Java Application Cache Viewer

Java Web Start 还提供了 Application Cache Viewer,可以从 Java 控制面板启动它。Cache Viewer 允许您直接启动已下载的应用程序。

通过 Application Cache Viewer 启动应用程序的说明

转至开始>设置>控制面板,然后双击Java图标。此时将启动 Java 控制面板。

单击常规选项卡

单击临时 Internet 文件区域内的查看按钮

从列表中双击您要启动的相应应用程序。

通过命令提示符

您还可以通过在命令提示符下键入javawsjnlp_url来启动应用程序,其中jnlp_url是应用程序的 jnlp 文件的 URL。

转到开始>运行>键入命令此时将出现命令提示符窗口。

键入javawsurl_of_jnlp

4. Java Web Start程序可以删除吗

JAVA WEB START是为了支持WEB应用的,
不知道你听说过JSP没有,它是一种动态网页设计技术,所谓的动态网页,可以简单的理解为就是在网页上增加了动画,实现了页面和后的交互等.
JSP是JAVA中的一种技术,JSP网页现在很流行,就像ASP网页一样,JAVA还有很多应用在网页中,比如一些特效,还有APPLET等,而要通过浏览器看到JSP网页的动态效果,或是特效就需要在机器上安装JAVA WEB START否则很多东西你是看不到的,现在JAVA技术十分的流行,JAVA在WEB方面的应用也十分的广泛,所以建议你不要删除它.

5. Java Web Start是什么有什么用

Java Web Start 当初是为了更好提供java应用程式的体验,让applet程式不再需要网页也可以运行
不过现在java推行的是javafx

6. 请问大家什么是java web start 有什么用呢

在Microsoft Windows 平台上,Java Web Start 在Java 2 SDK 及JRE安装时被悄悄地安装。你可以在桌面上找到Java Web Start图标。同样,在开始-程序菜单里面也有Java Web Start项。
在Solaris 和Linux 平台上,Java Web Start的安装脚本包含在Java 2 SDK (或者JRE顶层目录)的jre目录下的一个zip文件里面.你可以将那个zip移动到你喜欢的地方去安装Java Web Start。我们推荐Java 2 SDK 和 JRE 目录结构外安装。解压那个,然后运行install.sh 脚本安装Java Web Start 。
纵览Java Web Start是一个新的应用程序调度技术,它可以让你从WEB浏览器单击启动应用程序。你可以立刻下载并启动应用程序,例如一个完全的电子表格程序或者Internet聊天客户端,而不用经过复杂的安装过程。
Java Web Start 包含JavaTM 2 平台的安全特性,因此不会危机到你的数据和文件的完整性。另外 Java Web Start技术可以使你使用最新的Java 2技术-- 使用任何浏览器。
使用Java Web Start,你可以单击一个网页链接启动应用程序。如果该应用程序现在不在你的计算机上,Java Web Start 自动下载所有必要的文件。然后它把文件存储在你的计算机上,因此任何时候你想重新启动那个程序的时候它都是准备好的-- 无论是从你你的桌面上的图标还是浏览器的链接。而且无论你使用何种方法启动程序,该程序的最新版本都为你准备好了。

7. 为什么我的电脑不能运行java web start

Java Web Start 是帮助客户机端应用程序开发的一个新技术,它的独特之处在于将您从关心客户机是如何启动的(从 Web 浏览器或是桌面)中解放出来。另外,该技术提供了一个使 Web 服务器能独立的分发和更新客户机代码的集合部署方案。软件工程师 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

在安装过程中,Java Web Start 安装程序将判断在客户机上是否安装了 Java 2 环境。如果未安装,将出现一个安装对话框,如图 2 所示。

图 2. Java Web Start 搜索 Java 2 环境

一旦装好了 Java Web Start,就必须关闭所有的打开的 Web 浏览器。新的 MIME 标记(带有 jnlp 扩展名)是为 Web 浏览器定义的,用于 Web 浏览器启动自身(Web 服务器)和 Java Web Start 之间的联系。(JNLP 是 Java Network Launching Protocol 的首字母缩略字。JNLP 文件确定哪些 JAR 文件和资源有助于客户端的 Java 应用程序。)一旦 Web 浏览器被关闭并重新启动,用户可以再次单击相同的链接来启动所要的应用程序。Web 浏览器然后将与 Java Web Start 联系,并且应用程序将开始启动过程。

“Developer's Guide for Java Web Start” (请参阅 参考资料)包含能够查出本地是否安装了 Java Web Start 的 JavaScript 和 Visual Basic 脚本。

用 Java Web Start 启动应用程序

当用户首次单击一个链接来启动一个客户端的 Java 应用程序时,发生下面的过程:

Web 浏览器被指示运行 Java Web Start。
Java Web Start 以启动闪屏开始
然后 Java Web Start 与指定的 Web 服务器联系,并且确定是否为所要的 Java 应用程序下载了所有的文件。
把适当的文件下载到本地机。
Java Web Start 运行下载的应用程序。
在整个安装和启动过程中,Java Web Start 与 Java Web Start 应用程序管理器一起提供了一个外观和感觉一致的界面,同时还向用户提供了反馈。图 3 表示了当 Java Web Start 首次试图启动一个客户机 Java 应用程序时出现的窗口。

图 3. Java Web Start 下载客户机 JAR 文件

Java Web Start 把一个应用程序下载到了本地机之后,客户机程序就被执行了。将来,当程序再次从 Java Web Start 启动时,Java Web Start 将试图判定客户机是否有应用程序的最新版本。在此过程中,用户将可以看到一个与图 4 所示的相似的窗口。

图 4. Java Web Start 检查应用程序的版本

从用户的观点来看,该窗口提供了该 Java 应用程序是在启动过程还是在更新过程的可视化反馈。另外,进度条和文本反馈不仅通知用户每个过程所需的时间,还让用户可以了解更新或启动什么时候将完成。这也许是该产品的最有用的特性之一,它可以确保在应用程序的启动过程的每一步都通知了用户正在发生什么。

回页首

图形用户界面(GUI)

应用程序管理器的 GUI (图形用户界面)提供了一个简单的却合理的界面,该界面允许用户在启动应用程序时可以指定多种的选项。每次启动应用程序管理器时,出现一个闪屏,如图 5 所示。

图 5. 应用程序管理器闪屏

一旦闪屏消失,应用程序管理器的主窗口就显示出来,如图 6 所示。

图 6. 应用程序管理器的主窗口

在 Applications 框中,可以看到和启动所有的从 Java Web Start 启动的应用程序。在下面的框中,提供了关于选中的 Java 应用程序的附加信息(在图 6 中,即为 Draw 4),如供应商、可以获得关于该应用程序的更多信息的主页以及程序的描述。这条信息是直接从该应用程序的 JNLP 文件(稍后有更多关于 JNLP 的介绍)派生的。

在 File Preferences,有让用户调整和校准的多种设置。尽管大多数设置已经由 Java Web Start 自动配置了,但仍然允许用户覆盖不同的设置,如代理设置,如下面的图 7 所示。

图 7. 应用程序管理器的 Preferences 选项卡

用户还可以指定当启动应用程序时使用 JRE 的什么版本,如图 8 所示。

图 8. 指定 JRE

本质上,应用程序管理器的目的在于为管理所有的遵照 Java Web Start 指导方针和策略的应用程序提供了一个统一的实用程序。另外,应用程序管理器允许有经验的用户配置一些应用程序设置。这样免除了一些开发者将在其它方面需要做的工作,比如写脚本或批处理文件来启动或配置应用程序。要注意应用程序管理器仅对为 Java 2 平台编写的而且与 Java Web Start 兼容的应用程序有用,注意到这一点是很重要的。实用程序不能查出驻留在本地机的其它 Java 应用程序。

要考虑的问题

当选择是否为与 Java Web Start 兼容而开发应用程序时,明智的做法是对用户体验做全面考虑。

Java Web Start 必须安装在每台从 Web 或从 Java 应用程序管理器启动客户机 Java 应用程序的机器上。所以,虽然客户机 Java 应用程序可以从 Web 页面启动,但如果最初没有 Java Web Start 安装在本地机上的话,该应用程序本身是不能启动的;这样 Web 浏览器仅提供启动程序的方便的链接 ― 不多不少。
Java Web Start 仅对正确打包的并且依照 Java Web Start 指导方针的应用程序有用。另外,需要 Web 服务器,而且 Web 服务器必须正确的配置来解释 所有的JNLP 和 MIME 标记。所以,除非下载的或是从 Web 启动的所有的客户机 Java 应用程序满足了这些要求,每个客户机 Java 应用程序才能从 Java Web Start 被启动和被管理的。

在用户中也许有点关于 Java Web Start 和 Java 插件的应用程序与 applet 间的不同之处的困惑。用户可能理解或还不理解为什么 Java Web Start 能管理和启动许多的客户机 Java 应用程序,却不能与以 Java 插件运行的 Java Applets 建立任何连接,尽管事实是任一程序都可以从 Web 浏览器启动。
对于被要求去为仅仅一个客户机应用程序而下载 Java Web Start 的用户来说,可能又认为对一个客户机 Java 应用程序的执行来说,Java Web Start 应用程序管理器的特性很累赘,安装过程“麻烦”太多。
Java Web Start 仅能用于为 Java 2 平台编写的客户机 Java 应用程序。
当前,Java Web Start 可在 Windows 95/98/NT/2000、Linux 和 Solaris 操作系统上执行。

回页首

为 Java Web Start 做开发

从开发的观点,您应该能象为常规的客户端应用程序一样能为与 Java Web Start 的兼容性编写和设计代码。您应该相对的不用担心更新现存的客户机代码所需的打包问题和变通技术。下面是您在开发和部署 Java Web Start 的客户端 Java 应用程序时需要依照的一些简单的规则:

应用程序可以作为针对 Java 2 平台的独立的应用程序正常的编写。
如果您的应用程序需要访问本地系统,那么 JAR 文件中的每个条目都必须被签名。
应用程序的所有的文件必须保存在一个 JAR 文件集中,该文件集包含如图像和声音文件等资源。
装入资源(如图像)的任何访问都必须使用有类装载器的 getResource 方法。请参阅下面的使用 getResource 方法示例的清单 1。

清单 1. 使用 ClassLoader 对象从 JAR 文件装入资源
//Obtain the current classloader
ClassLoader classLoader = this.getClass().getClassLoader();
//Load the company logo image
Image companyLogo = classLoader.getResource("images/companyLogo.gif");

更新应用程序代码

从 Web 服务器首次下载一个应用程序时,应用程序的所有的相关的 JAR 文件被下载到了本地机。Java Web Start 将自动决定该把这些文件下载到何处,这是因为缺省的安全性协议(如本地磁盘存取)在起作用。下面将进一步讨论安全性。

从应用程序开发和维护的观点来看,Java Web Start 使更新应用程序代码很容易。因为下载的应用程序的所有文件必须包含在客户机的 JAR 文件集中,您只需更新存储在 Web 服务器的 JAR 文件集。Java Web Start 将根据下面将讨论的版本编号方案来决定当应用程序最初被启动时需要下载和更新客户机的哪些文件和资源。每次用户启动一个应用程序时,Java Web Start 将与包含 JAR 文件集的 Web 服务器连接,并将下载适当的文件。注意客户机可以下载的资源仅为 JAR 文件、图像和 JNLP 文件。

Java Web Start 使用 HTTP 请求来从 Web 服务器获得资源文件,并且允许客户机端 Java 应用程序从代理服务器或防火墙后执行。最初,Java Web Start 将既使用通用的代理自动配置脚本也试着检测本地机的缺省 Web 浏览器中定义的代理设置。如果需要附加信息,可用应用程序管理器使用 Preferences 部分来指定端口和代理。

回页首

Java Web Start 的核心:JNLP

为使 Java 应用程序能用 Java Web Start 执行,您必须为应用程序创建一个 Java 网络语言协议(Java Networking Language Protocol,JNLP)文件。JNLP 是一个为应用程序提供基本的元素和描述的 XML 文件。JNLP 符合规范号为 JSR 000056(请参阅 参考资料)的 Java Community Process (JCP)。

JNLP 文件的目的如下:

指定从 Web 服务器下载的 JAR 文件
提供其它的可能的包需要
指定系统属性
考虑到任何必要的运行时参数
指定使用哪个版本的 Java 2 平台
JNLP 文件的一个示例

JNLP 文件以一种与 Web 浏览器相似的方式(仅用 URL 而不是特定的文件名)来获得并定位文件。清单 2 表示了 JNLP 文件的一个示例。

清单 2. JNLP 文件的一个示例:clientApp.jnlp
<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase=http://www.companySite.com/javaApp>
<href="clientApp.jnlp">
<information>
<title>This is my company's Java client application</title>
<vendor>Company name</vendor>
<icon href="companyLogo.gif"/>
<homepage ref="reference/tips.html">
<offline-allowed/>
</information>
<resources>
<j2se version=1.3/>
<jar href="companySong.jar" part="music" download="lazy"/>
</resources>
<resources os="Windows"/>
<nativelib="windowIconsForWindowOS.jar" part="windowIcons"
download="eager"/>
<application-desc main-class="com.company.ui.Client"/>
<security>
<all-permissions/>
</security>
</jnlp>

清单 2 的注释

接下来对 JNLP 文件的示例的评述也许在您创建自己的文件时对您有所帮助:

第一行,您可以看到文件的编码是 UTF-8 字符编码。所以,当编辑 JNLP 文件时,最终文件要用与 JDK 一起提供的 native2ascii工具转换来确保文件的编码正确。

jnlp codebase 属性用于在 JNLP 文件中指定所有的相关 URL。 href 属性设置(要求的)是为了让应用程序并入 Java Web Start 应用程序管理器。

information 标记(如 title、vendor 等)用于提供来自 Java Web Start 应用程序管理器的关于应用程序的附加信息。 homepage ref 属性是专门用于指向 Web URL 从而用户可以去提供了关于应用程序的更多的信息的 Web 页面。最有趣的 information 标记是 offline-allowed 属性;该属性决定了客户机 Java 应用程序是否能离线启动。当离线运行客户机 Java 应用程序时,Java Web Start 将继续判定来自 Web 服务器的最新的文件;在多数情况下,这个方案将引起快速的超时(因为位置被指定要离线启动),并且应用程序从本地高速缓存启动。

resource 标记考虑到 JNLP 文件指定应用程序使用哪些 JAR 文件和如何下载 JAR 文件;即,是急切的还是不紧不慢的。这个特性在当用户要下载大量的文件而对用户来说不是所有的文件都是客户机执行所需要的时是非常有帮助的。缺省的,多数资源是急切的下载的,在这样情况下,JAR 文件和资源在应用程序启动前被下载。不紧不慢的下载的资源只有当 Java 虚拟机(JVM)触发从应用程序载入资源或文件时才被下载。不紧不慢的下载资源的一个示例是客户机的帮助文件;考虑到了客户机的更快的启动和执行,只有在用户实际上向客户机请求帮助文件时,才会下载这些文件。然而,一旦用户请求了一个帮助文件,在请求过程中适当的 JAR 就会被下载,并伴有一个通知用户大致的下载时间的窗口。
JNLP 文件中最后一个有趣的标记是 security 属性。缺省的,任何从 Java Web Start 客户机启动的 Java 应用程序在一个安全的、受限制的环境执行,该环境中不允许进行本地文件访问、与其它计算机的网络连接等等。然而,对于要对客户机和网络可以完全访问的特性丰富的客户机来说, all-permissions 值是用于给予客户机完全访问的权限的。为具有对本地机的完全访问,Java 应用程序所使用和装入的所有 JAR 文件和资源必须被数字签名。安全性将在下面将进一步讨论。

回页首

JNLP 和 WAR 文件

为与应用程序相关的 JNLP 文件和 JAR 文件提供更加方便有效的打包方案,Java Web Start 使 Web 压缩文件(WAR)的分发成为可能。WAR 文件是一个目录结构,它包含了一个与 JNLP 文件和 JAR 文件一起打包的 servlet,从而使整个包能够方便的在 Web 服务器上部署。该 servlet 自身被打包在 jnlp-servlet.jar 文件里,包里还有 JnlpDownloadServlet 类作为主要的执行 Java 类,这个类将负责不同的任务,如:

生成 JARDiff 文件
根据 WAR 文件中的每个文件或每个目录进行版本编号
支持 JNLP 文件中定义的下载协议
自动安装 URL 到 JNLP 文件,从而免除对开发者要进行硬编码 URL 的要求。
为了从 Java Web Start 启动应用程序,把应用程序和 WAR 文件打包在一起并非必需。然而,WAR 文件的加入可以改善存储在 Web 服务器的文件的管理和升级。WAR 文件的主题对于本文的范围来讲实在是太冗长了。请参阅 参考资料来获得与附加信息的联系。

回页首

Java Web Start 中的版本变化

到目前为止,我们已经讨论了想要实施 Java Web Start 的开发者和用户所需的整体的部署和管理技术。在我们深入前,我要概括一下到目前为止我所讲到的部署的步骤。

应用程序所用的文件存储在 JAR 文件。
必须创建一个 JNLP 来通知 Java Web Start 应用程序使用哪些 JAR 文件、如何下载必要的文件等。
一个标准的 Web 服务器被配置来接受被 Java Web Start 理解的 MIME 类型。
JAR 文件放在了 Web 服务器上。
用户需要下载和安装 Java Web Start(仅一次)。
用户首次运行应用程序;JAR 文件被下载并执行。
用户可以再次运行应用程序,从 Java Web Start 应用程序管理器或 Web 页面启动。Java Web Start 将下载需要更新的全部文件,并且然后将启动应用程序。
从技术角度来说,这个总结可能会引发问题:Java Web Startf 是如何决定哪些文件是有必要更新的呢?答案很简单:JNLP 文件。一个有版本标识的唯一的 URL与每个 JNLP 文件中定义的资源相关联。如清单 3 所示。

清单 3.JNLP文件中的一个基于版本的 JAR 文件的示例
<jar href=http://www.companySite.com/javaApp/imageFiles.jar
version="1.1+">

当启动了一个应用程序时,Java Web Start 检查 JNLP 文件并创建一个有 URL 和版本标识的 HTTP GET 请求。如果没有 version 属性,那么 Java Web Start 就只是创建一个 JAR 文件的 HTTP GET 请求。Java Web Start 检查 Web 服务器的响应状态代码和 MIME 类型来决定此 JAR 文件是否有更新的版本。

JNLP 文件还允许使用 JARDiff 实用程序来递增的更新 JAR 文件。 JARDiff 实用程序能只下载 JAR 文件中的特定文件(不是整个 JAR 文件本身),这样使下载更快。请参阅 参考资料来获得关于决定 JNLP 文件配置的更多信息。

回页首

安全性

也许在决定是否为了与 Java Web Start 兼容而开发应用程序时,需要考虑的最重要的问题就是安全性。Java Web Start 允许客户端 Java 应用程序访问各种本地机资源,如文件访问、剪贴板访问等。源自 Java 2 平台,该产品继承了该平台的安全性体系结构。如前面提到的,在 JNLP 文件中定义的 security 属性决定了当应用程序通过 Java Web Start 启动时所能有的安全性级别。缺省的,使用受限环境,为应用程序授权对网络和本地机的有限的访问。如同使用 applet 沙箱(sandbox),这样可以保证恶意的应用程序不能造成任何破坏。

Java Web Start 的安全性的另一重要元素是数字签名的使用。当启动或更新一个应用程序时,它的 JAR 文件被下载到客户机。Java Web Start 用那些文件中的数字编码来判定在对文件初始签名之后,是否有 JAR 文件已经被修改或改变。如果有不一致的或是文件尚未被签名,应用程序就不能从 Java Web Start 启动。正确签名的应用程序可以访问本地机。

用户授权安全性

当运行要对本地机无限制访问的应用程序时,用户最初将看到一个对话框,该对话框说明了应用程序的出处或供应商,并且允许用户给应用程序授予额外的权限。此外,当应用程序要求使用本地机的资源并且还没有被签名的 JAR 文件时,Java Web Start 将允许用户通过一个 Security Advisory 对话框显式的授予应用程序访问权限。例如,如果客户机 Java 应用程序需要能把信息粘贴到 Windows 操作系统剪贴板工具,将出现一个与图 9 相似的对话框。

图 9. 应用程序试图访问剪贴板的 Security Advisory 对话框

当应用程序试图访问客户机的本地资源(如文件系统)时,将出现另外的对话框窗口,如图 10 所示。

图 10. 应用程序试图访问文件系统时的 Security Advisory 对话框

用户可以在以下方面授予应用程序对本地机的访问权限:

在本地机存储应用程序的当前状态
查看本地文件的内容
保存文件到本地机
本地机打开文件
在本地机对随机存取文件读/写
从本地机打印
JNLP API 库中的很多的类允许开发者在不可靠的环境使用系统的资源,由用户来负责决定操作是否是允许的。

8. Java Web Start使用方法

JavaTM Web Start 1.01版和Java 2 SDK 及Java 2运行时环境(JRE)绑定。
在Microsoft Windows 平台上,Java Web Start 在Java 2 SDK 及JRE安装时被悄悄地安装。你可以在桌面上找到Java Web Start图标。同样,在开始->程序菜单里面也有Java Web Start项。

在Solaris 和Linux 平台上,Java Web Start的安装脚本包含在Java 2 SDK (或者JRE顶层目录)的jre目录下的一个zip文件里面.你可以将那个zip移动到你喜欢的地方去安装Java Web Start。我们推荐Java 2 SDK 和 JRE 目录结构外安装。解压那个,然后运行install.sh 脚本安装Java Web Start 。
Java Web Start是一个新的应用程序调度技术,它可以让你从WEB浏览器单击启动应用程序。你可以立刻下载并启动应用程序,例如一个完全的电子表格程序或者Internet聊天客户端,而不用经过复杂的安装过程。

Java Web Start 包含JavaTM 2 平台的安全特性,因此不会危机到你的数据和文件的完整性。另外 Java Web Start技术可以使你使用最新的Java 2技术-- 使用任何浏览器。

使用Java Web Start,你可以单击一个网页链接启动应用程序。如果该应用程序现在不在你的计算机上,Java Web Start 自动下载所有必要的文件。然后它把文件存储在你的计算机上,因此任何时候你想重新启动那个程序的时候它都是准备好的-- 无论是从你你的桌面上的图标还是浏览器的链接。而且无论你使用何种方法启动程序,该程序的最新版本都为你准备好了。

下面的文档是Java Web Start在线文档。
README http://java.sun.com/procts/javawebstart/docs/readme.html
结构 http://java.sun.com/procts/javawebstart/architecture.html
开发指南 http://java.sun.com/procts/javawebstart/docs/developersguide.html
FAQ http://java.sun.com/procts/javawebstart/faq.html

9. java WEB start 错误

网络问题

,看看网线啊,路由,端口,ip之类的

10. java web start如何使用

JWS 是作为 JSR-56 的一部分而创建的,目的是提供一种方法来分发在客户端上的 JVM 中运行的 Java 应用程序。JWS 包括以下特征:

部署
运行 JWS 应用程序包括选择 HTML 链接,与打开新的页面没有什么区别,惟一的不同之处在于 Web 服务器页面是 .jnlp 文件,该文件启动 JWS 插件来在客户端上本地下载和执行应用程序。
缓存
一旦应用程序下载完毕,就可以把它缓存在客户端电脑上。每当应用程序重新启动时,JWS 就检查服务器,查看是否有更新的版本要下载。如果没有,就运行本地的版本,从而避免再次下载。如果存在一个新的版本,就自动检索新的版本,因此管理员从来就不必担心旧的客户端连接到已更新的服务器程序 API 上。
独立于浏览器 JRE
JWS 允许您精确地指定您想在什么客户端 JRE 级别中运行它(独立于浏览器是如何配置的)。这一特征避免了 Applet 标记和浏览器 JRE 级别的问题(比如用 Microsoft Internet Explorer)。与 Applet 标记共享单一的用于浏览器的 JVM 实例不同,每个 JWS 应用程序都有自己独立的 JVM,并通过它自己的 main(String[] args) 方法启动。
安全性验证
Java 安全性模型用于验证 JWS 应用程序的来源并限制对易受攻击的系统服务(比如 I/O 和通信)的访问。 必须通过认证已签署的 JAR 文件来授予每个 JWS 程序显式访问这些服务的权限。
桌面集成
一旦 JWS 应用程序从 .jnlp 文件下载完毕,就可以把它集成在桌面上作为独立的图标。这样该应用程序就可以重新启动而不用通过 Web 浏览器。

如果您有 JRE 1.4.1 或更新的版本,那么您已经安装了 Java Web Start 。如果您没有 JRE 1.4.1 或更新的版本,可以从 Sun 下载页面下载并安装 JRE。

与介绍 GUI 编程的新方法的文章的传统一样,第一步是创建 Web 启动应用程序,它显示带有“Hello World”的对话框:这分两步进行:首先创建类并将其部署在 Web 服务器中,接着客户端个人计算机访问该 URL,这样就可以通过 JWS 下载和调用它。
Sun 提供了一个实现JNLP的称为Java Web Start(JWS)的参考实现。让我们使用它开发一个使用JFC Swing的简单应用。为了做这个,你需要从http://java.sun.com/procts/javawebstart下载JWS。(译者注:JDK的新版本JDK1.4已经内置JWS,无须另外下载。)