分享
 
 
 

使用Javawebstart和JNLP技术来部署应用

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

文档目录

一、Java web start技术

二、在何处查找有关Java web start 的技术

三、技术要求(桌面和服务器)

四、设置Web站

五、使用自动安装特性

六、进行应用开发所需考虑的问题

七、打包应用便于部署

八、转换JNLP文件以使之在此发布版本下工作

九、JNLP文件语法

十、JNLP API 示例

十一、JNLP API (Java文档)

一、Java web start技术

Java web start是一个与Web浏览器相关的应用。当用户点击指向一个特定启动文件(JNLP文件)的超级连接时,将促使Web浏览器启动Java Web

Start,Java Web Start将自动下载、缓存以及运行给定基于Java技术的应用。这整个过程除了最初的点击以外,将不需要任何的用户干预。

从技术的角度来看,Java Web Start技术有多种关键优点,使之成为进行应用部署的平台。

1.Java Web Start技术是专门用来启动J2SE(Java 2 SE platform)开发的应用。但个应用可以在一个Web服务器上开发,并且能配置在其他各种

平台上,包括Windows 98/NT/2000/ME/XP, Linux, Solaris操作系统环境。Java平台已经被证实是极具鲁棒性,高效,多用途的开发平台,通

过最少化开发和测试成本来节省成本。

2.Java Web Start支持J2SE(Java 2 platform, Standard Edition)的多个修正版本。这样的话,使得一个应用可以请求它所需平台的特定版本

,例如J2SETM 1.4.0。多个应用可以同时运行不同平台版本下,而不会引起冲突,如果一个应用需要客户机系统上没有安装的平台版本的话,

Java Web Start能够自动下载并安装相应平台版本。

3.Java Web Start允许在浏览器环境之外启动应用。如果不方便或者不可能通过浏览器启动的条件下,能够对应用进行离线运行。应用程序也

能够通过桌面快捷方式来启动,这样将使得启动一个基于Web部署的应用程序象启动本地应用程序一样简单。

4.Java Web Start继承了Java平台的安全性的优点。Java Web Start技术下的应用在缺省情况下,将在一个保护环境下运行(即沙箱sandbox),

严格限制了对本地磁盘系统和网络资源的访问。这将允许用户安全地运行来源于不可信区域的应用程序,而不用担心会破坏本地安全环境。

5.用Java Web Start启动的应用程序将缓存在本地。这样的话,使得一个已经下载的应用程序等同于传统意义上的已安装应用程序。

Java Web Start的支持技术是Java TM Network Launching Protocol & API (JNLP)-Java网络启动协议。此技术当前是通过Java Community

Process (JCP)进行开发的。Java Web Start 是JNLP规范的参考实现(reference implementation,RI)。JNLP技术其中一点定义了描述怎样通过

呼叫一个JNLP文件来启动一个应用程序的一个标准文件格式。

二、在何处查找Java Web Start

Java Web Start 站点http://java.sun.com/products/javawebstart/, 此处可以下载Java Web Start。JNLP规范在这里可以找到:

http://java.sun.com/aboutJava/communityprocess/jsr/jsr_056_jnlp.html

三、技术要求

1.桌面/客户端要求

客户机要求支持Java运行时环境the Java Runtime Environment (JRE)1.2.2或者更高版本。

Java Web Start 适用于 Windows 98/NT/2000/ME/XP, Solaris操作系统环境和 Linux.

详细情况参考readme文档http://java.sun.com/products/javawebstart/1.2/docs/readme.html

2.服务器要求

Java Web Start应用程序可以部署在标准的web服务器上。为了使用Java Web Start,Web服务器必须配置为支持一种下面将解释的新MIME类型。

四、设置Web站点

Java Web Start 充分利用了已经存在的Internet技术,例如HTTP协议和Web服务器,这使得已存在的

用于部署基于HTML内容的基础ā系统能够重用来使用Java Web Start部署基于Java技术的应用程序。

为了在客户机上部署你的应用,你必须确保包含应用程序的所有文件能够通过Web服务器进行访问。

这意味着你必须拷贝一个或者多个与JNLP文件相一致的jar文件到你的Web服务器目录中。使Web站点

支持Java Web Start的设置类似于部署基于HTML的内容文件。唯一需要注意的是为Web服务器呗指一

种新的MIME类型。

1、配置Web服务器使之使用Java Web Start MIME类型

配置Web服务器,使所有的以.jnlp为扩展名的文件设置为application/x-java-jnlp-file MIME 类型

多数Web浏览器根据从Web服务器返回内容的MIME类型来决定怎样去处理特定的内容。为了让Web浏览

器调用Java Web Start,必须让服务器对jnlp文件返回application/x-java-jnlp-file MIME 类型。

每个Web服务器都有增加MIME类型的方法。对于Apache Web 服务器,必须增加以下行到.mime.types

配置文件中:

application/x-java-jnlp-file JNLP

对于器她服务器,请核对相关文档。

2、给应用程序建立一个JNLP文件

建立JNLP文件的简便方法是根据你的要求修改已经存在的JNLP文件。

在后面相关部分将会谈到JNLP文件的语法与格式。

3、确保应用程序能够通过Web服务器进行访问

确保你的应用程序的JAR文件和JNLP文件能够用JNLP文件中列出的URL进行访问。

4、在网页上建立一个指向JNLP文件的超级连接。

指向JNLP文件的超级连接是一个标准的HTML连接。例如:

<a href="MyApp.jnlp"Launch My Application</a

按照第一步中的设置所述,Web服务器将对所有以.jnlp为扩展名的任何文件自动返回

application/x-java-jnlp-file MIME 类型。这是确保Web浏览器在下载此文件的时候启动Java Web

Start的前提条件。

还应该在网页上提供一个Java Web Start安装程序的链接,这样将使那些还没有安装Java Web Start

的用户能够下载和安装Java Web Start。

对Java Web Start是否安装的检测:

在HTML页面中使用javascript/VBScript可以检测Java Web Start是否安装。示例如下:

<SCRIPT LANGUAGE="javascript"

<!--

insertLink("http://www.mycompany.com/my-app.jnlp",

"My Application");

// --

</SCRIPT

注意这里的javascript脚本不能对Gecko-based的浏览器(例如:Netscape 6.x)是否安装Java Web

Start进行检测。

insertLink方法检测Java Web Start是否安装。如果已经安装的话,此方法输出的HTML将类似于:

<a href="http://www.mycompany.com/my-app.jnlp"My Application</a

如果没有安装的话将输出:

Need to install Java Web Start

在实际使用中,这应该是指向一个下载页面的链接。

示例javascript/VBScript如下:

<!---- This initializes the navigator.family object ----

<SCRIPT LANGUAGE="javascript"

SRC="xbDetectBrowser.js"

</SCRIPT

<SCRIPT LANGUAGE="javascript"

var javawsInstalled = 0;

isIE = "false";

if (navigator.mimeTypes && navigator.mimeTypes.length) {

x = navigator.mimeTypes['application/x-java-jnlp-file'];

if (x) javawsInstalled = 1;

} else {

isIE = "true";

}

function insertLink(url, name) {

<!-- Developers should be aware that for Gecko-based browsersā (NS 6.x) --

<!-- Java Web Start might not be installed ------------------------------

if (javawsInstalled || navigator.family == 'gecko') {

document.write("<a href=" + url + "" + name + "</a");

} else {

document.write("Need to install Java Web Start");

}

}

</SCRIPT

<SCRIPT LANGUAGE="VBScript"

on error resume next

If isIE = "true" Then

If Not(IsObject(CreateObject("JavaWebStart.IsInstalled"))) Then

javawsInstalled = 0

Else

javawsInstalled = 1

End If

End If

</SCRIPT

以上的示例脚本调用浏览器检测脚本xbDetectBrowser.js。xbDetectBrowser.js的内容如下:

/* ***** BEGIN LICENSE BLOCK *****

* Licensed under Version: MPL 1.1/GPL 2.0/LGPL 2.1

* Full Terms at http://devedge.netscape.com/lib/js/license/mpl-tri-license.txt

*

* Software distributed under the License is distributed on an "AS IS" basis,

* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License

* for the specific language governing rights and limitations under the

* License.

*

* The Original Code is Netscape code.

*

* The Initial Developer of the Original Code is

* Netscape Corporation.

* Portions created by the Initial Developer are Copyright (C) 2001

* the Initial Developer. All Rights Reserved.

*

* Contributor(s): Bob Clary

*

* ***** END LICENSE BLOCK ***** */

function x

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有