Java技巧 如何使用JWS网络启动部署软件

2008-02-23 08:14:10来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

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就保证了下载的潜在的不可信任的软件不会危及到本地文件或网络。

当然,应用程序也可以请求不受限制的本地系统访问,在这种情况下,当该软件第一次调用时,JWS将显示安全警告对话框,安全警告的内容包含软件开发者的信息。

如果一个应用软件包含了一个或多个经过签名的JAR文件,JWS将会验证这些JAR文件在签名后是否发生过变化,如果数字签名的认证失败,那么JWS就不会运行该软件,因为它们已经被第三方修改过了。通过在JNLP文件中添加以下的设置,一个应用软件可以请求完整的权限。

<security>



   <all-permissions/>



</security>

JNLP文件

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Spring 总结用XML配置的十二个最佳实践

下一篇:JSP页面显示乱码问题的解决方案