王朝百科
分享
 
 
 

JNLP

王朝百科·作者佚名  2010-02-09  
宽屏版  字体: |||超大  

一JNLP介绍:

在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。

Java Network Launching Protocol (JNLP,java网络加载协议) 承诺改变这个现状。通过JCP(Java Community Process)的JSR-56的开发, JNLP解决了很多先前用java开发针对客户端的功能的问题。一个JNLP客户端是一个应用程序或者说服务,它可以从宿主于网络的资源中加载应用程序。如果你使用JNLP打包一个应用程序,那么一个JNLP客户端能够:

为该应用探测,安装并且使用正确版本的JRE(java运行时环境), 从浏览器或者桌面加载应用程序, 当新版本的应用出现时自动下载最新的版本。 为了加速启动速度在本机缓存应用程序需要的类 , 可以作为applet或者应用程序运行 ,在必要的情况下下载原始的库 以安全的方式使用诸如文件系统这样的本机资源 , 自动定位和加载外部依赖资源.

二JNLP文件的具体说明

<?xml version="1.0" encoding="UTF-8"?>

<!--codebase 属性指出搜索应用程序资源的顶级URL,下面的icon/jar元素都是以这个URL为基本.-->

<jnlp codebase="http://127.0.0.1:8081/webstart">

<information>

<!-- 在"开始"-"运行"菜单中输入"javaws"或"javaws -viewer"启动Web Start,会看到客户端已经安装的webstart应用程序-->

<!--title :应用程序标题 vendor:供应商

title/vendor 元素必须,会显示在用"javaws -viewer"命令

打开的应用程序缓存查看器(Java Application Cache Viewer)中-->

<title>HelloWorld</title>

<vendor>Lively Corporation</vendor>

<description>HelloWorld Test Example for WebStart.</description>

<!--homepage :存放有关应用程序的相关文档的URL,如help文件等,仅仅是description作用-->

<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/>

</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"/>

</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

重新部署即可

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有