知识大全 如何使用Java网络启动部署软件
Posted 文件
篇首语:真正有知识的人谦虚、谨慎;只有无知的人才冒昧、武断。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何使用Java网络启动部署软件相关的知识,希望对你有一定的参考价值。
如何使用Java网络启动部署软件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java网络启动(Java Web Start (JWS) )可以实现在网络浏览器中运行具备全部特色的Java应用软件 Sun公司在 年三月发布的Java 就已经具备了对JWS的支持 自从J SE 版本以来 JWS就已经成为Java运行时环境(Java Runtime Environment (JRE) )的默认配置 不必再单独安装了 在这篇文章中 我将向您介绍这一重要技术
技术
JWS是与网络浏览器相结合的应用软件 当用户点击链接的时候就会指向一个Java网络启动协议(Java Neork 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 =
Else
javawsInstalled =
End If
If Not(IsObject(CreateObject( JavaWebStart isInstalled ))) Then
javaws Installed =
Else
javaws Installed =
End If
If Not(IsObject(CreateObject( JavaWebStart isInstalled ))) Then
javaws Installed =
Else
javaws Installed =
End If
End If
</SCRIPT>
开发
开发部署在JWS上的软件和开发独立运行的软件在Java 平台上是基本相同的 比如 程序的起点都是以下的标准代码
public static void main(String[] argv)
然而 为了支持网络部署 也就是实现自动下载和调用软件 并且保证软件在一个安全的沙盒中运行 还需要一些额外的考虑 包括
应用软件必需作为JAR文件集合来使用 所有的应用软件资源 比如文件 图片都必需存储在JAR文件中 而且它们都必需使用Java 平台的getResource机制来引用 应用软件可以使用System exit调用 进行不受限制地访问系统的软件需要通过签名的JAR文件来使用 而且JAR文件中所有的项目都必需经过签名 如果软件要运行在一个安全沙盒中 那么它必需遵循以下的限制; 不能进行本地磁盘访问 所有的JAR文件都必须从同一个主机下载 只能和下载JAR文件的主机之间建立网络连接 不能安装安全管理器 不能使用本地类库对系统属性的访问受到限制 对于JNLP中定义了的系统属性 应用软件可以进行读/写操作 并且对于相同的属性集合具备和applet一样的只读权限
安全
JWS是构建于Java 平台之上的 Java 平台提供了一个全面的安全架构 在Java 版中 JWS则提供了更加强大的安全特色 比如代码签名
在默认状态下 通过JWS调用的应用软件将运行在一个受到限制的环境中(一个 沙盒 ) 它们对本地计算资源的访问 比如存储设备和本地网络 是有限的 这样 JWS就保证了下载的潜在的不可信任的软件不会危及到本地文件或网络
当然 应用程序也可以请求不受限制的本地系统访问 在这种情况下 当该软件第一次调用时 JWS将显示安全警告对话框 安全警告的内容包含软件开发者的信息
如果一个应用软件包含了一个或多个经过签名的JAR文件 JWS将会验证这些JAR文件在签名后是否发生过变化 如果数字签名的认证失败 那么JWS就不会运行该软件 因为它们已经被第三方修改过了 通过在JNLP文件中添加以下的设置 一个应用软件可以请求完整的权限
<security>
<all permissions/>
</security>
JNLP文件
JNLP是一个和JWS紧密相关的概念 它经常可以和术语 网络启动 相互替代使用 实际上 JNLP是一个规定了JWS应用软件如何启动的协议 JNLP中的包含了诸如JAR包文件的位置 应用软件主要类的名称 以及程序的其它一些参数 在适当配置的浏览器中 JNLP文件是传递给JRE的 然后JRE将会下载应用软件到用户的机器上并开始执行
一个JNLP文件不包含任何二进制数据 实际上它包含的URL指向所有的二进制数据和二进制代码资源 这些文件还可以指向其他的JNLP文件 它们被称为扩展描述符 一个扩展描述符通常描述了运行软件所必需的组件 在扩展描述符中描述的资源将会成为应用软件类路径的一部分 这样 常用的功能只需要描述一次即可 以下的例子是一个常见的JNLP文件
<?xml version= encoding= UTF ?>
<jnlpcodebase= _app >
<information>
<title>Hello world!</title>
<vendor>My Web Company</vendor>
<icon />
<offline allowed/>
</information>
<resources>
<j se version= + />
<jar />
</resources>
<application desc main class= helloworld Hello />
</jnlp>
这个JNLP文件描述了如何调用名为Hello的程序 在JNLP文件中指定了需要 或更高版本的Java来运行该程序 同时还有一些与程序相关的信息 这些信息都会在用户下载的过程中显示
如果您希望了解更详细的JNLP协议和文件格式 可以参考这个官方规范
结论
JWS提供了一种与平台无关的 安全的而且强大的部署技术 开发者只需要将应用软件部署在网络服务器上就可以为最终用户提供全部的功能 而最终用户也只需要使用网络浏览器就可以运行所需的应用软件 而且永远是最新的版本
JWS的一个主要优点是它克服了Java插件和不同Java虚拟机的兼容性问题 但是 使用网络启动的程序却不能像applet一样简单地和浏览器进行通讯
cha138/Article/program/Java/hx/201311/26465相关参考
在Tomcat中部署JavaWeb应用程序有两种方式静态部署和动态部署在下文中$CATALINA_HOME指的是Tomcat根目录 一静态部署 静态部署指的是我们在服务器启动之前部署我们的程序
centos6.6怎么部署vncVNC(VirtualNeorkComputer)是虚拟网络计算机的缩写。VNC是在基于UNIX和Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能
Java环境变量定制应用部署 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 有时当我们编写JEE
知识大全 计算机网络技术和软件技术这两个专业具体都学什么课程呢?就业方向是什么?
计算机网络技术和软件技术这两个专业具体都学什么课程呢?就业方向是什么?主要课程:Java语言基础、计算机组装与维护、计算机网络技术、数据库基础、XML基础、JavaScript提高、Windows网络
知识大全 Java Web开发Tomcat中三种部署项目的方法
JavaWeb开发Tomcat中三种部署项目的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
网络连接错误请检查网络设置怎么处理有无使用其它SIM卡切换网络过。可以查看是否有运营商的接入点(APN),可以自行添加接入点或者网上下载“海卓HiAPN”软件一键设置。(设置添加后重新启动手机)下载地
根据中共中央部署,党的群众路线教育实践活动于2013年6月18日启动,活动紧紧围绕保持和发展党的先进性和纯洁性,自上而下
根据中共中央部署,党的群众路线教育实践活动于2013年6月18日启动,活动紧紧围绕保持和发展党的先进性和纯洁性,自上而下在中共全党深人开展。其主要内容是_____。A、为民务实清廉B、照镜子,正衣冠C
我们平时看到的很多软件(PhotoShopDMax)都会在启动画面中显示当前正在启动哪个模块并在模块加载失败时给予提示这样的好处是可以让比较专业的软件使用者知道当前软件加载了哪些模块或者在软件发生启
知识大全 win8系统下好多软件无法开机自启动,比如电脑管家,金山毒霸等等,在软件里面设置开机自启动还是不行
win8系统下好多软件无法开机自启动,比如电脑管家,金山毒霸等等,在软件里面设置开机自启动还是不行管家和杀毒的有N多的冲突现在也没有怎么开发用于win8的系统。所以win8还是裸奔最好。win系统怎么
我的电脑需要启动哪些软件?360安全卫士、瑞星卡卡、nod32杀软、金山清理,QQ医生、360保险箱? 以下文字资料是由(本站网www.cha138.com)小编为大家