如何使用Java网络启动部署软件 ?
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) )文件,然后浏览器自动...全部
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中通过以下代码来检查:
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
开发
开发部署在JWS上的软件和开发独立运行的软件在Java 2平台上是基本相同的,比如,程序的起点都是以下的标准代码:
public static void main(String[] argv)
然而,为了支持网络部署,也就是实现自动下载和调用软件,并且保证软件在一个安全的沙盒中运行,还需要一些额外的考虑,包括:
应用软件必需作为JAR文件集合来使用; 所有的应用软件资源,比如文件、图片都必需存储在JAR文件中,而且它们都必需使用Java 2平台的getResource机制来引用; 应用软件可以使用System。
exit调用;进行不受限制地访问系统的软件需要通过签名的JAR文件来使用,而且JAR文件中所有的项目都必需经过签名; 如果软件要运行在一个安全沙盒中,那么它必需遵循以下的限制;不能进行本地磁盘访问;所有的JAR文件都必须从同一个主机下载; 只能和下载JAR文件的主机之间建立网络连接;不能安装安全管理器;不能使用本地类库;对系统属性的访问受到限制,对于JNLP中定义了的系统属性,应用软件可以进行读/写操作,并且对于相同的属性集合具备和applet一样的只读权限。
收起