`
rmzdb
  • 浏览: 81391 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

【原】JNLP--让java 应用程序从浏览器启动起来

 
阅读更多

一JNLP介绍
  在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文件的具体说明
  

<?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文件使用javaws运行应用〕;

 

四 补充
  如果jar需要访问本地文件资源,需要为你的jar文件签名
  先在命令行用keytool产生一个keystore文件.
  

引用
keytool -genkey -keystore you.keystore –alias youApp

  命令行用jarsigner签名,当然这时候需要生成keystore时的密码
  

引用
jarsigner -keystore you.keystore appTest.jar youApp

  重新部署即可

 

分享到:
评论

相关推荐

    ant-jnlp-war_deps-0.9.jar.zip

    JNLP使得用户可以通过Web浏览器启动和运行Java应用程序,无需手动安装。它提供了从服务器自动下载和更新应用的能力,极大地提升了用户体验。JNLP文件通常包含应用程序的元数据,如主类、库依赖、图标等。在这个"ant-...

    Java程序中启动浏览器

    ### Java程序中启动浏览器 #### 知识点一:Runtime 类与系统命令交互 在 Java 程序中,可以通过 `java.lang.Runtime` 类来执行操作系统级别的命令,从而实现与外部程序的交互。例如,本示例中的 `TestHtml` 类通过...

    Java做的浏览器小程序

    2. **Java Web Start(JWS)**:Java Web Start是一种技术,允许用户从Web服务器下载并启动Java应用程序。它使用`jnlp`(Java Network Launching Protocol)文件来描述应用程序的资源和依赖项。JWS提供了“一次点击...

    Java多彩动画程序.jar (.html, .jnlp)

    JNLP(Java Network Launch Protocol)是Java Web Start的一部分,它是一个用于从Web服务器启动和管理Java应用程序的技术。用户通过点击一个JNLP文件,浏览器会调用Java Web Start,下载并自动运行所需的JAR文件。...

    jnlp例子

    总结来说,Java Web Start和JNLP协议为Java应用程序提供了方便的网络启动和更新机制,虽然随着技术的发展其重要性有所下降,但在特定场景下仍然是一个实用的解决方案。了解并掌握JNLP的使用,可以帮助开发者更有效地...

    jnlp详细文档

    Java Web Start(JWS)...Java Web Start虽然在Java 9之后被官方逐渐弃用,但仍然有企业或个人开发者选择使用它来分发Java应用程序,因为它的便利性和跨平台特性。理解JNLP的详细知识对于这些开发者来说是至关重要的。

    JNLP

    标题 "JNLP" 指的是 Java Network Launch Protocol,这是一种由Java平台提供的技术,用于在网络上启动和运行Java应用程序。JNLP是Java Web Start的一部分,允许用户在浏览器或者独立的桌面环境中无缝地下载、安装和...

    java小应用程序 连续显示图片

    7. **嵌入网页**:将Java小应用程序嵌入网页通常通过Java Web Start技术实现,这是一个基于Java的客户端应用启动技术,允许用户通过浏览器下载并运行Java应用程序。 以下是实现上述功能的简单步骤: 1. 创建JFrame...

    JNLP开发(JWS)

    JNLP应用程序本质上是在客户端运行的Java应用程序,其初始启动通常由Web浏览器触发。这些应用程序通过所谓的“应用程序描述器”(即JNLP文件)进行配置,确保在安全沙箱环境中运行,同时具备自动更新和升级的能力。...

    jfreechart-1.0.8-demo.jnlp

    这个jnlp(Java Web Start)文件是Java应用程序的启动链接,用户可以通过Java Web Start平台在浏览器上运行该演示。 描述中的"demo 和 sourcecode都在"意味着这个压缩包不仅提供了可执行的演示程序,还包含了源代码...

    Web程序中的JRE版本检测及JNLP文件的直接打开

    JRE是Java应用程序运行的基础,不同的应用可能依赖特定版本的JRE以保证兼容性和性能。本文将深入探讨如何在Web环境中检测用户系统上的JRE版本,并通过Java Network Launch Protocol (JNLP)文件直接启动应用程序。 ...

    apache-airavata-xbaya-gui-0.6-jnlp.tar.gz

    在"标签"中提到了"jar",这指的是Java Archive,是一个包含多个Java类文件和其他资源的容器,用于构建可执行的Java应用程序或库。在压缩包内的文件列表中,尽管没有直接列出jar文件,但可以推测其中的"lib"目录可能...

    利用 Java Web Start发布你用java程序

    Java Web Start 使用 JNLP(Java Network Launching Protocol)来下载和启动应用程序。JNLP 文件是 XML 格式,包含了应用程序所需的资源信息,如主类、库、图标以及权限等。当用户点击 JNLP 链接时,Java Web Start ...

    Deploying Java Web Start Applications on the JBoss Application Server

    随后,Java Web Start会自动从Web服务器下载应用程序所需的文件,缓存一部分,并启动描述中的Java应用程序。值得注意的是,Java Web Start还简化了Java应用程序(包括Java Applets)的安装过程,并能够实现应用程序...

    java程序发布资料收集

    Java程序发布是一个重要的过程,它涉及将开发完成的Java应用程序打包、配置和部署,以便用户可以在不同的环境中运行。以下是对这个主题的详细说明: 一、Java程序发布的基本流程 1. **编译**:首先,Java源代码(....

    JavaWebStart

    JavaWebStart是Java平台上一种基于浏览器的Web应用程序部署技术,由Oracle公司开发,它允许用户通过点击网页上的链接来启动和运行本地的Java应用程序。这个技术的核心理念是提供了一种安全、便捷的方式,使得用户...

Global site tag (gtag.js) - Google Analytics