在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。
Java Network Launching Protocol (JNLP,java网络加载协议) 承诺改变这个现状。通过JCP(Java Community Process)的JSR-56的开发, JNLP解决了很多先前用java开发针对客户端的功能的问题。一个JNLP客户端是一个应用程序或者说服务,它可以从宿主于网络的资源中加载应用程序。如果你使用JNLP打包一个应用程序,那么一个JNLP客户端能够:
o 为该应用探测,安装并且使用正确版本的JRE(java运行时环境) o 从浏览器或者桌面加载应用程序 o 当新版本的应用出现时自动下载最新的版本。 o 为了加速启动速度在本机缓存应用程序需要的类 o 可以作为applet或者应用程序运行 o 在必要的情况下下载原始的库 o 以安全的方式使用诸如文件系统这样的本机资源 o 自动定位和加载外部依赖资源
一。jnlp是什么?是java提供的一种让你可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应 用程序.好处就不用说了,如果你的java应用程序以jnlp 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点了.
二。jnlp文件的具体说明
<?xml version="1.0" encoding="UTF-8"?> dl.bitsCN.com网管软件下载
<!--codebase 属性指出搜索应用程序资源的顶级URL,下面的icon/jar元素都是以这个URL为基本.-->
<jnlp codebase="http://127.0.0.1:8081/webstart"> blog.bitsCN.com网管博客等你来搏
<information>
<!-- 在"开始"-"运行"菜单中输入"javaws"或"javaws -viewer"启动Web Start,会看到客户端已经安装的webstart应用程序-->
<!--title :应用程序标题 vendor:供应商 so.bitsCN.com网管资料库任你搜
title/vendor 元素必须,会显示在用"javaws -viewer"命令
打开的应用程序缓存查看器(Java Application Cache Viewer)中--> www.bitsCN.net中国网管博客
<title>HelloWorld</title>
<vendor>Lively Corporation</vendor>
<description>HelloWorld Test Example for WebStart.</description>
<!--homepage :存放有关应用程序的相关文档的URL,如help文件等,仅仅是description作用--> bitsCN.com中国网管联盟
<homepage href="http://127.0.0.1:8081/webstart/index.html"/>
<!--icon 指定图标会显示在应用程序缓存查看器中,
在查看器中新建webstart快捷方式到桌面时也会显示为快捷方式图标,
只支持GIF/JPEG格式,其它格式无效-->
<icon href="./images/logo.jpg"/>
<!--splash 在sun的文档中提到会出现在webstart启动时的闪屏中,不过可能由于速度问题,我没有观察到-->
<icon kind="splash" href="./images/logo.jpg"/>
<!-- 允许离线启动,可以使用javaws -offline命令-->
<offline-allowed/> 需要什么来搜一搜吧so.bitsCN.com
</information>
<resources>
<!-- 指定客户端需要安装的j2se版本,下面指定为1.5+,
如果版本是1.4,在链接此jnlp文件时会提示更新j2se版本-->
<j2se version="1.5+"/>
<!-- 指定要下载到本地的jar文件(注意,所有的文件都需要打包才能够下载),
可以包含一些资源文件,如icons/configuration files,可以使用getResource方法取得-->
<jar href="./jar/jws/helloworld.jar"/>
</resources>
<!--application-desc 必须,指定webstart启动时执行jar文件中的哪个类-->
<application-desc main-class="jws.HelloWorld"/> bitsCN.com中国网管联盟 </jnlp>
三。应用JNLP部署应用
(1)编写相关应用,打包成一系列jar;
(2)根据jnlp文件说明修改相应的jnlp内容,修改相应的url和jar;
(3)部署jnlp文件和jar到相应的web容器;
(4)编写访问网页,即可使用该应用〔亦可下载jnlp文件使用jws运行应用〕;
四。补充
如果jar需要访问本地文件资源,需要为你的jar文件签名
先在命令行用keytool产生一个keystore文件.
keytool -genkey -keystore you.keystore –alias youApp
命令行用jarsigner签名,当然这时候需要生成keystore时的密码
jarsigner -keystore you.keystore appTest.jar youApp 重新部署即可
文章出处:http://www.diybl.com/course/3_program/java/javaxl/2008227/101795.html
分享到:
相关推荐
带有 Applet 或 Java Web Start 的简单启动器 这个项目已经过时了! 请改用 。 这个项目是一个关于如何在不重建它的情况下覆盖默认包weasis.war的示例。 在 pom.xml 中,更改 ... 部署它,然后转到默认页面(例如 )
但是 JUpload 小程序可以在 JNLP 模式下或在您的 java 应用程序中执行。 请参阅 JUpload 站点(如何使用页面)。 重要提示:所有用户都应该更新到 5.1.0 版本(和下一个版本) 1.7u51 jre(2014 年 1 月中旬发布)...
java做的矢量图开源程序,我提供jnlp文件,可首先看一下效果
red5-screenshare ...此应用程序是一个 Java Webstart 应用程序,无需安装任何桌面软件即可从网站运行,并将您的桌面屏幕作为 RTMP 视频流发布到使用独立 RTMP 客户端和屏幕视频编解码器的 Red5 ... jnlp spec = ' 1.0+
HPLC模拟器 基于高压液相色谱模拟器 版权 这项工作是根据知识共享署名-非商业性-相同方式分享美国3.0版许可。 要查看此许可的副本,请访问或致信创用CC,美国邮政信箱1866,山景城,加利福尼亚州94042。...
5. 菜单编辑时找不到jnlp.properties文件的问题 12 6. 如何去掉单据的分录上的“新增、修改、删除”按钮 13 7. 修改标准产品entity和facade对应代码的方法(不影响升级) 13 8. 快捷键不起作用的原因 14 9. 如何设置...
使用SSH和JNLP的Azure Cloud上的Windows代理 为了通过SSH启动Windows映像,需要使用SSH预先配置映像。 有关准备自定义Windows映像的信息,请参考 使用SSH的Azure Cloud上Linux代理有关准备自定义linux映像的信息,...
red5屏幕分享 ...此应用程序是Java Webstart应用程序,可以从网站运行而无需安装任何桌面软件,并且可以使用独立的RTMP客户端和屏幕视频编解码器将桌面屏幕... 编辑screenshare.jnlp my_red5_server屏幕共享1935 screen_s
此应用程序是Java Webstart应用程序,可以从网站运行而无需安装任何桌面软件,并且可以使用... 修改screenshare.jnlp {{{ my_red5_server屏幕共享1935 screen_share flashsv2 }}} 将my_red5_server替换为Red5服务器
客户机:通过在JNLP文件中设置参数来调整客户端JVM 47 64. 什么时候用assert。 47 65. 什么是java序列化,如何实现java序列化? 48 65.1. java序列化、反序列化 48 65.2. 对象的序列化主要有两种用途: 48 65.3. ...