扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
技术
JWS是一个和网页浏览器联系在一起的帮助软件。当一个用户点击了一个指向JNLP(Java Network Launching Protocol,JAVA网络调用协议)文件的链接时,浏览器会调用JWS,然后自动下载、缓存并运行指定的基于Java技术的软件。
JWS之下的技术是JNLP以及API,通过Java通讯进程开发。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>
public static void main(String[] argv)
不过,为了支持网页部署的自动下载和自动调用软件,并确保软件运行在一个安全的沙箱之中,有一些其他的事项需要注意,包括有:
如果一个软件被写成在一个安全沙箱中运行,它必须遵循下述限制:
安全
JWS建立在Java 2平台之上,而后者提供了全面的安全架构。JWS同时也具有Java 6.0的强壮安全性能,比如代码签名。
使用JWS启动的程序在默认状态下是运行在一个受限的环境中(一个“沙箱”),其对本地计算资源(比如存储设备和本地网络)的权限会受到限制。在这个沙箱环境中,JWS可以保证所下载的潜在危险软件无法危及本地文件和本地网络的安全。
一个程序可以请求对系统不经限制的权限。在这种状态下,当系统首次启动时,JWS将显示一个安全警告对话框。安全警告将显示开发此程序制造商的相关信息。
如果一个被调用的软件是以一个或者多个签名JAR文件提交的,JWS将验证JAR文件的内容是否自从签名后从未被修改过。如果对数字签名的验证失败,JWS将不会运行该程序,因为它可能受到了第三方的危害。当在JNLP文件中包含下述设定后,一个程序可以请求完全权限。
<security>JNLP文件
<all-permissions/>
</security>
一个JNLP文件不包含任何的二进制代码;实际上,它含有指向所有二进制数据以及二进制代码资源的URL链接。这些文件也可以被用于其他JNLP文件,被称为扩展注释。一个扩展注释一般描述了程序运行必须的一个部件。在扩展注释中描述的资源是软件的类途径的一部分。这可以让那些常用功能被要素化,仅需描述一次即可。下面是一个典型的JNLP文件:
<?xml version="1.0" encoding="UTF-8"?>这个JNLP文件描述了如何调用标题为Hello的示例程序。在JNLP文件中,需要指明到底是JAVA 2平台,版本1.3或者更高版本,将被需要用于运行该软件,同时提供一些普通的软件信息,可以在下载过程中显示给用户。
<jnlpcodebase="http://www.helloworld.com/hw_app">
<information>
<title>Hello world!</title>
<vendor>My Web Company</vendor>
<icon href="hello.jpg"/>
<offline-allowed/>
</information>
<resources>
<j2se version="1.3+"/>
<jar href="hw.jar"/>
</resources>
<application-desc main-class="com.helloworld.Hello"/>
</jnlp>
结论
JWS提供了一种和平台无关,安全而精力充沛的部署技术。它可以让开发者只要在一个标准网页服务器上提供该软件,即可向终端用户部署全功能的软件。不管使用何种浏览器,终端用户都可以调用该软件,并确信他们所获得的是最新版本。
JWS比applet强的一个主要优点是,它解决了许多由于浏览器JAVA插件以及JVM版本不同所导致的兼容性问题。但另一方面,使用WEB启动的程序,也无法像applet那样轻松的和浏览器进行通讯。
(责任编辑:陈毅东)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者