跟我学Java Web Strart技术及在项目中的应用示例(第3部分)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
跟我学Java Web Strart技术及在项目中的应用示例(第3部分)
5、创建Web页面和JNLP文件
(1)Choose File|New ,然后选择“Web Start Launcher”
(2)将进入“Web Start Launcher wizard”状态
在name栏中输入:WebControlLauncher,该名称主要用于命名HTML文件和JNLP 文件。
同时选择我们的Web组件和前面的*.jar文件、*.jar文件中的“Main Class”。
同时,保证“Create Homepage”项目被选中。
在下面的对话框中再输入其它的信息
此时,将产生出WebControlLauncher.html页面文件。
在网页上建立一个指向JNLP文件的超级连接。
指向JNLP文件的超级连接是一个标准的HTML连接。
如:
<a href="WebControlLauncher.jnlp">这是一个Webstart的示例</a>
注意:
Web服务器将对所有以.jnlp为扩展名的任何文件自动返回application/x-java-jnlp-file MIME 类型(请见下面的web.xml的定义)。
这是确保Web
浏览器在下载此文件的时候启动Java WebStart的前提条件。
另外,还应该在网页上提供一个Java Web Start安装程序的链接,这样将使那些还没有安装Java Web Start的用户能够下载和安装Java Web Start。
也产生出WebControlLauncher.jnlp文件的内容
同时,在Web应用的web.xml中增加下面的两种新的MIME类型的支持。
使所有的以.jnlp 为扩展名的文件设置为application/x-java-jnlp-file MIME 类型。
多数Web浏览器根据从Web服务器返回内容的MIME类型来决定怎样去处理特定的内容。
为了让Web浏览器调用Java Web Start,必须让服务器对jnlp文件返回application/x-java-jnlp-file MIME 类型。
每个Web服务器都有增加MIME类型的方法。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="/xml/ns/j2ee" xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/xml/ns/j2ee
/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>WebStartWebApp</display-name>
<mime-mapping>
<extension>jar</extension>
<mime-type>application/x-java-archive</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
</web-app>
6、创建服务器的运行配置
(1)选择“Run|Configurations”
(2)在对话框中选择“New”按钮以新建一个新的“Runtime Configuration”
在名称中输入“WebStartControl Server”,并选择运行的类型为“服务器”,并在Launch URI中选择我们前面的WebControlLauncher.html页面文件(该文件在Web 组件的根目录下)。
点击“OK”按钮,将回到下面的状态
7、执行该Web应用
(1)启动服务器
(2)在浏览器中输入http://localhost:8080/WebStartWebApp/WebControlLauncher.html
注意:不要在JBuilder内执行,因为它的浏览器不支持WebStart技术;同时在第一次运行Java Web Start部署的Java应用程序时需要用到Web浏览器-----根据所选用的操作系统和浏览器的不同,需要对Web浏览进行不同的配置,使其能够识别出Java Web Start应用程序所对应的超级链接。
(3)点击上面的“这是一个Webstart的示例”超链接,将出现下面的状态。
同时,还将出现下面的提示
点击“是”按钮,将能够看到我们的Swing的应用程序
此时的文件打开对话框将不再出现,因为它是对本地磁盘操作的---而在WebStart的方式下,我们的J2SE应用在功能上受到一定的限制,这样是考虑安全性的要求。
8、当我们的后台系统更新后,客户端的J2SE应用程序的内容也自动地升级变化
当用户首次单击一个链接来启动一个客户端的 Java 应用程序时,发生下面的过程:(1)Web 浏览器被指示运行 Java Web Start。
(2)Java Web Start 以启动闪屏开始
(3)然后 Java Web Start 与指定的 Web 服务器联系,并且确定是否为所要的 Java 应用程序下载了所有的文件。
(4)把适当的文件下载到本地机。
(5)Java Web Start 运行下载的应用程序。
在整个安装和启动过程中,Java Web Start 与 Java Web Start 应用程序管理器一起提供了一个外观和感觉一致的界面,同时还向用户提供了反馈信息。
9、可以直接从桌面上启动该WebStart程序
Java Web Start 把一个应用程序下载到了本地机之后,客户机程序就被执行了。
将来,当程序再次从 Java Web Start 启动时,Java Web Start 将试图判定客户机是否有应用程序的最新版本。
从用户的观点来看,上面的窗口提供了该 Java 应用程序是在启动过程还是在更新过程的可视化反馈。
另外,进度条和文本反馈不仅通知用户每个过程所需的时间,还让用户
可以了解更新或启动什么时候将完成。
这也许是该产品的最有用的特性之一,它可以确保在应用程序的启动过程的每一步都通知了用户正在发生什么。
最后,也出现前面的应用程序的窗口
这样我们不必须从Web方式,与普通的J2SE的应用程序在启动的方式方面没有什么差别。
10、WebStart的应用程序可以通过以下三种方式启动
无论使用何种方式,每次启动应用程序以检查是否有应用程序的更新版本时,Java Web Start 都将重新连接到 Web 服务器。
(1)通过单击链接从 Web 浏览器启动
下载、缓存并执行指定的应用程序
Web 浏览器将启动 Java Web Start,它将下载、缓存并执行指定的应用程序。
我们将注意到第二次启动应用程序时速度明显加快,因为它已在本地存在而无须重新下载。
页面上的大部分演示程序均可直接下载并执行,无须用户干预。
这些应用程序在受限环境中运行,不能访问本地磁盘和网络,并且可以保证它们不会在计算机上安装任何病毒。
某些演示程序需要额外的权限,例如访问本地硬盘。
对于这些应用程序,将弹出安全对话框,根据代码的数字签名显示有关应用程序的来源信息。
应用程序只有在我们决定信
任供应商才将运行。
●它是如何工作的?
启动应用程序的 HTML 链接实际上就是标准的 HTML 链接。
但是,它不是指向其他 Web 页,而是链接到称作 JNLP 文件的特殊配置文件。
Web 浏览器检查文件的扩展名和/或 MIME 类型,确定它属于 Java Web Start。
然后以下载的 JNLP 文件为参数启动 Java Web Start。
Java Web Start 按照 JNLP 文件的指示进行下载、缓存和运行应用程序。
(2)从 Java Web Start 的内置“应用程序管理器”启动
“应用程序管理器”可通过单击桌面上的Java Web Start 图标或Microsoft Windows“开始”菜单中的图标启动或者从JRE的bin目录中的javaws.exe程序。
将出现下面的程序界面
应用程序管理器的GUI (图形用户界面)提供了一个简单的却合理的界面,该界面允许用户在启动应用程序时可以指定多种的选项。
●管理器将跟踪最近使用的应用程序,并提供对喜好应用程序的快速访问
“应用程序管理器”为 Java Web Start 产品的内置部分。
它使我们可以快速简便地
启动曾经通过 Java Web Start 启动的应用程序。
在 Applications 框中,可以看到和启动所有的从 Java Web Start 启动的应用程序----同时,还提供了关于Java 应用程序的附加信息(如供应商、可以获得关于该应用程序的更多信息的主页以及程序的描述)----这些信息是直接从该应用程序的 JNLP 文件读出的。
●还可通过“应用程序管理器”链接到应用程序的主页
以查看其附加信息。
我们可以双击应用程序图标或单击启动按钮从“应用程序管理器”启动应用程序---点击上面的“在线启动”按钮。
●“应用程序管理器”另一个重要功能是“首选设置”对话框
该对话框使您可以查看并修改 Java Web Start 使用的设置。
在“首选设置”对话框中,可以让用户调整和校准多种设置-----尽管大多数设置已经由 Java Web Start 自动配置了,但仍然允许用户覆盖不同的设置,如代理设置等(侵害见下面的图示)。
例如,它包括使我们可以进行指定 HTTP 代理(或告诉 Java Web Start 使用缺省的浏览器设置)选项卡。
(3)从桌面图标或“开始”菜单(仅适用于 Microsoft Windows)启动
Java Web Start 技术可在 Microsoft Windows 桌面和“开始”菜单中自动创建快捷方式,供通过 Web 部署的基于 Java 技术的应用程序使用----从而允许J ava Web Start 在浏览器环境之外启动应用。
如果不方便或者不可能通过浏览器启动的条件下,能够对应用进行离线运行。
在缺省情况下,如果应用创建了快捷方式,Java Web Start 将在第二次启动应用程序时提示。
该参数可通过“首选设置”面板更改-----这样将使得启动一个基于Web部署的应用程序象启动本地应用程序一样简单。
快捷方式还可以通过“应用程序管理器”使用应用程序/创建快捷方式和应用程序/删除快捷方式菜单项添加和删除。
11、在代理服务器/防火墙后面使用 Java Web Start 软件
Java Web Start 软件必须用正确的代理设置配置以启动来自防火墙之外的应用程序。
Java Web Start 软件将自动尝试检测系统缺省浏览器(Microsoft Windows 上为 Internet Explorer 或 NetscapeTM 浏览器,Solaris 操作环境及 Linux 上为 Netscape 浏览器)的代理设置-----也可以使用Java Web Start“首选设置”面板查看或编辑代理配置。
Java Web Start 技术支持大多数 Web 代理自动配置脚本。
它几乎可检测所有环境中的代理设置。
如果无法自动检测到代理设置,则会在首次使用 Java Web Start 时,提示您指定代理设置。
Java Web Start 还将提示输入访问身份验证代理服务器所需的用户名和口令。
该用户名和口令将存储为 Java Web Start 的当前入口信息。
但是,在调用新的 Java 虚拟机时,如果访问一个安全 Web 站点将提示输入用户名和口令,因为该信息随 Java 虚拟机实例存储。