一、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"命令打开的应用程序缓存查看器(JavaApplication Cache Viewer)中--><title>HelloWorld</title><vendor>LivelyCorporation</vendor><description>HelloWorldTest 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版本--><j2seversion="1.5+"/><!-- 指定要下载到本地的jar文件(注意,所有的文件都需要打包才能够下载),可以包含一些资源文件,如icons/configurationfiles,可以使用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

  重新部署即可

【JNLP】什么是JNLP相关推荐

  1. java jnlp 签名_JAVA JNLP组件数字签名制作步骤

    为JAR签名需要两个工具: 1.用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给 6个月) 2.用JARSigner用此密匙为JAR签名. 可以用同一个密匙来为多个JAR签名. 注意 ...

  2. java jnlp_Java Web Start 与jnlp结合实例讲解

    JNLP简单应用 JNLP,全称为Java Network Launch Protocol,以为Java网络加载协议.JNLP是Java WebStart的一个组成协议,而Java WebStart是 ...

  3. java打开jnlp_如何打开jnlp

    展开全部 可用java程序32313133353236313431303231363533e78988e69d8331333337613862打开,首先要确定你已经装好了jre改好了环境变量然后,开始 ...

  4. java jnlp 运行_java怎么运行jnlp文件 jnlp文件怎么打开

    jnlp文件怎么打开 可用java程序打开,首先要确定你已经装好了jre改好了环境变量然后,开始――运行――cmdjavaws D:\××××\××××\××××.jnlp如果你的jre装的没有问题, ...

  5. java jnlp_Java Web Start实践:动态生成JNLP

    Java很早就推出了Java Web Start(简称JWS)技术.这一技术的初衷很好:希望将桌面程序和Web页面之间搭起一个无缝的桥梁.虽然Applet技术已经存在了十多年,但是它 日趋老迈衰落,所 ...

  6. JNLP文件的打开方法

    今天折腾Saraki,从官网上下载Demo时,只下载下来一个sakaioae.jnlp文件,*.jnlp文件不了解,google baidu了半天,终于解决了,记录下: 1.这究竟是个什么东东 JLN ...

  7. JNLP文件详细说明

    Java Web Start 是一个 helper 应用程序,它和 WEB 浏览器关联在一起.当用户点击指向一个特定的launch 文件 (JNLP 文件 ) 时,会促使浏览器装载 java Web ...

  8. 运行java提示未签名_java – JNLP:在签名代码中加载未签名的代码

    我们在克服Java webstart的混合代码错误时遇到了困难.总之,我们有我们的主要JNLP文件,我们已经签署了它直接加载的所有代码.我们已将all-permissions选项添加到主JNLP中.它 ...

  9. JNLP说明(good)

    转自(http://blog.csdn.net/llythh/archive/2009/06/26/4299490.aspx) Java Web Start 是一个 helper 应用程序,它和 WE ...

最新文章

  1. EF 调试跟踪生成的SQL语句
  2. python统计字符串个数_python字符串中字符出现次数(python获取字符串个数)
  3. ORM 一对一 以及csrf 的简单用法
  4. cloud源码-eureka
  5. 尝试笔记 01 之 CSS 边角上的标签
  6. 重设OS X (macOS)系统帐户密码的几种方法
  7. IE6 position:fixed bug (固定窗口方法)
  8. unity项目小记_unity webplayer Failed to update unity web player错误解决办法
  9. 低成本、低功耗、小体积433MHz数字量无线控制器
  10. diy计算机组装注意事项,电脑DIY常见误区有哪些 电脑组装新手注意事项
  11. 【转】word公式大括号左对齐
  12. eclipse中的servers不见了解决方法
  13. 一个模仿途牛旅行应用源码
  14. UISwitch - 开关按钮 的使用详解
  15. 百度鹰眼轨迹和虎鲸数据平台之浅谈
  16. Linux虚拟地址空间
  17. Win\Linux 双系统,如何删除linux的grub引导
  18. [HEOI 2012] 采花
  19. java什么是抽象思维_什么是抽象思维,抽象思维有多重要
  20. Firefox火狐浏览器如何屏蔽CSDN页面上的广告(亲测有效!)

热门文章

  1. 百度金融独立分拆,不过朱光透露的这个信息更值得关注
  2. CentOS增加虚拟内存
  3. 【fastadmin 如何根据用户角色 显示/隐藏 自定义按钮】
  4. cpu实时数据是什么意思?
  5. 你用什么作为app应用的后台服务?
  6. “妖精”团队———阿里巴巴
  7. c++学习纲要(入门必看!!!学习笔记【建议收藏!!!】)怒肝整理数万字,只求君一赞
  8. python打开本地浏览器_python如何实现打开浏览器
  9. java注释搞笑图案_搞笑的代码注释,那些有趣的程序员
  10. Jeesite学习(一)