搜索|收藏|地图|订阅|图片|论坛|商城

J2SE综合技术:使用Java网络启动部署软件

来源:赛迪网 编辑:若水 时间:2008-04-26
Java网络启动(Java Web Start (JWS) )可以实现在网络浏览器中运行具备全部特色的Java应用软件。Sun公司在2001年三月发布的Java1.0就已经具备了对JWS的支持,自从J2SE1.4版本以来,JWS就已经成为Java运行时环境(Java Runtime Environment (JRE) )的默认配置,不必再单独安装了,在这篇文章中,我将向您介绍这一重要技术。

 

技术

 

JWS是与网络浏览器相结合的应用软件,当用户点击链接的时候就会指向一个Java网络启动协议(Java Network Launching Protocol (JNLP) )文件,然后浏览器自动启动JWS,接着下载、缓存并运行基于Java技术的应用软件。

 

在JWS背后的技术是JNLP及其API,它们是在Java团体进程(Java Community Process)中开发的。JWS实际上是JNLP规范的一个参考实现,JNLP技术定义了一个标准的文件格式,该格式描述了如何调用一个JNLP文件。

 

既然安装链接可以作为普通的HTTP URL的链接,那么您就可以通过网页来检查客户端是否安装了JWS,您可以在IE中通过以下代码来检查:

 

< 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

 

If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.4.2.0"))) Then

 

javaws142Installed = 0

 

Else

 

javaws142Installed = 1

 

End If

 

If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.5.0.0"))) Then

 

javaws150Installed = 0

 

Else

 

javaws150Installed = 1

 

End If

 

End If

 

< /SCRIPT>

 

开发

 

开发部署在JWS上的软件和开发独立运行的软件在Java 2平台上是基本相同的,比如,程序的起点都是以下的标准代码:

 

public static void main(String[] argv)

 

然而,为了支持网络部署,也就是实现自动下载和调用软件,并且保证软件在一个安全的沙盒中运行,还需要一些额外的考虑,包括:

 

应用软件必需作为JAR文件集合来使用;

所有的应用软件资源,比如文件、图片都必需存储在JAR文件中,而且它们都必需使用Java 2平台的getResource机制来引用;

应用软件可以使用System.exit调用;

进行不受限制地访问系统的软件需要通过签名的JAR文件来使用,而且JAR文件中所有的项目都必需经过签名;

如果软件要运行在一个安全沙盒中,那么它必需遵循以下的限制;

不能进行本地磁盘访问;

所有的JAR文件都必须从同一个主机下载;

只能和下载JAR文件的主机之间建立网络连接;

不能安装安全管理器;

不能使用本地类库;

对系统属性的访问受到限制,对于JNLP中定义了的系统属性,应用软件可以进行读/写操作,并且对于相同的属性集合具备和applet一样的只读权限。

 

安全

 

JWS是构建于Java 2平台之上的,Java 2平台提供了一个全面的安全架构,在Java 6.0版中,JWS则提供了更加强大的安全特色,比如代码签名。

 

在默认状态下,通过JWS调用的应用软件将运行在一个受到限制的环境中(一个“沙盒”),它们对本地计算资源的访问,比如存储设备和本地网络,是有限的。这样,JWS就保证了下载的潜在的不可信任的软件不会危及到本地文件或网络。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?