`

掌握 Java Web Start 技术 二

    博客分类:
  • Java
阅读更多

1.1 JnlpDownloadServlet Guide

对已打包成WAR文件或者为打包的WEB程序,自动修改JNLP文件,自动下载。

 

1.2 JNLP File Syntax

一个完整的例子

 

<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for SwingSet2 Demo Application -->
<jnlp  spec="1.5+"  codebase="http://my_company.com/jaws/apps"  href="swingset2.jnlp">
  <information>
    <title>SwingSet2 Demo Application</title>
    <vendor>Sun Microsystems, Inc.</vendor>
    <homepage href="docs/help.html"/>
    <description>SwingSet2 Demo Application</description>
    <description kind="short">A demo of the capabilities of the Swing Graphical User Interface.</description>
    <icon href="images/swingset2.jpg"/>
    <icon kind="splash" href="images/splash.gif"/>
    <offline-allowed/> 
    <association mime-type="application-x/swingset2-file" extensions="swingset2">
    <shortcut online="false">
      <desktop/>
      <menu submenu="My Corporation Apps"/>
    </shortcut>
  </information>

  <information os="linux">   
    <title> SwingSet2 Demo on Linux </title>
    <homepage href="docs/linuxhelp.html">
  </information>

  <security>
      <all-permissions/>
  </security>

  <resources>
    <j2se version="1.4.2+" java-vm-args="-esa -Xnoclassgc"/>
    <jar href="lib/SwingSet2.jar"/>
  </resources>

  <application-desc main-class="SwingSet2"/>
</jnlp> 

 

 

 

 

根元素是jnlp,它包含四个子元素:information, security, resources application-desc. 此外, Java Web Start 也通过applet-desc 元素支持装载运行applets

 

Ø  JNLP元素

spec:指明JNLP规格的版本,默认为"1.0+".

codebaseJNLP文件中所有href属性指定的相对URL都是以这个属性值为基础的。

Href: 一个URL,指定JNLP文件本身所在的位置

Ø   INFORMATION元素

n    Title:应用程序的名字,必需

n    Vendor:应用厂商的名字,必需

n    Homepage:只包含一个href属性,用来定位应用程序所在的主页。JNLP Client能用它来把用户指向Web Page,在哪里用户能找到更多的关于应用程序的信息

n    Description:简短的对应用程序的描述。此元素是可选的。kind属性用来规定怎样使用描述,kind的值如下三个One-lineshorttooltip.每个这种的元素只能有一个,JNLP文件中可以包含多个description元素。比如某JNLP文件种有如下代码:

<description>SkylinkLMS - Logistics Management System</description>
    <description kind="short">SkylinkLMS</description>
<description kind="one-line">SkylinkLMS</description>

 

没有指定kind属性的元素将被当作默认的,在Java Web Start没有找到所需要的kind时,就使用默认的

 

 

n    Icon:包含一个指向格式为GIF或者JPEG的图片的HTTP URL.这个图标用来描述以下几个方面:

ü  during launch when Java Web Start presents the application to the user

ü   in the Java Application Cache Viewer;

üin desktop shortcuts.

下载时,显示64×64,在Java Application Cache Viewer以及桌面图标为32x32.Java Web Start自动调整图标到合适的尺寸。

ü  Icon元素需要href属性用来指定图标文件的目录以及名字。

ü 可选的属性kind=splash用来指定在启动应用程序期间显示的“splash”屏幕中,需要显示的图标。

如果JNLP文件中没有包含kind属性的icon元素,Java Web Start仍将用information元素中的其它项来构造splash screen.JNLP文件中可以包含多个图标元素。

<icon href="images/swingset2.jpg"/>
    <icon kind="splash" href="images/splash.gif"/>

ü 可选的WIDTHHEIGHT属性描述了图标的大小。

 

如果JNLP文件中没有包含任何的icon元素,splash image将用应用程序的titlevendor来构造。

n        Offline-allowed元素

可选元素,说明应用程序是否可以离线启动。如果指定,则应用程序在离线的情况下也可以装载运行。如果应用离线装载运行,将不会检查程序的更新情况,并且APIBasicService.isOffline()将返回true.

Offline-allowed元素控制Java Web Start怎样检查应用程序的更新情况。如果此元素没有出现(也就是没有指定)则应用程序必须在线运行,在启动应用之前将会先检查程序是否存在更新版本,如果有,则会在下载了更新版本之后才启动应用程序。

如果指定了offline-allowed元素,Java Web Start也会检查应用是否存在更新。但是,如果应用已经下载,那么检查动作在几秒之后就会timeout(所以应提供一个比较快速server connection),如果timeout,就会启动cached application.

n   Shortcut元素

可选元素。包含可选的online属性,为true,应用将优先创建一个在线启动的快捷,如果为false,应用将优先创建一个离线启动的快捷。

子元素:desktop指示应用程序是否放置一个快捷方式在桌面上

子元素:menu指示应用程序是否放置一个菜单在start menu上。这个元素有一个submenu属性,包含一个字符串,描述是否建立一个子菜单。

n   Association元素

可选的元素。用来说明是否让操作系统把某扩展和某mime-type注册关联。它有两个必需的属性extensionsmime-type

n             Related_content元素

<information>

...

<related-content href="readme.html">

<title>README</title>

<description>The README file contains  the … product</description>

<icon href="readme.jpg"/>

</related-content>

 

<related-content href="register.html">

<title>Program Registration</title>

<description>Register this product to receive support products</description>

</related-content>

</information>

        

Ø         Security元素

默认情况下,应用程序在受限的执行环境中运行,类似于小应用中沙袋。这个元素允许应用请求不受限制的访问。

如果all-permissions子元素被指定了,那么应用就有对客户端机器和本地网络“全部访问权限”。如果应用请求了“全部访问权限”,那么所有的JAR文件都必须签名。而且应用在第一次启动时会提示用户是否接收证书。

Ø         Resources元素

资源元素用来描述所有的资源,比如jar文件、native库、系统属性等,它们都是应用的一部分。资源的定义受限于特定的操作系统、architecture或者localeosarch.

资源元素有留个不同的子元素jar, nativelib, j2se, property, package, and extension.在这里不讨论 package extension

n   jar子元素

指定应用所需的JAR文件所在的路径,用href属性指明。

<jar href="sound.jar" download="eager" main=”true”/>

Jar元素有一个可选的main属性,用来指出此包中是否包含Main类。在JNLP文件中,至少要有一个jar元素指明是main=”true”的,如果没有任何jar元素指定为main的,那么默认第一个jar元素就是main的。

 

n      nativelib子元素

指出包含本地库的JAR文件。本地库文件必须符合操作系统平台命名的习惯,比如WINDOWS必须时.dllSolaris/Linux必须lib*.so。应用程序负责调用System.loadLibrary来装载它们。

 

<resources os="Windows"/>

<nativelib href="lib/windows/corelibs.jar"/>

</resources>

 

<resources os="SunOS" arch="SPARC">

<nativelib href="lib/solaris/corelibs.jar"  download="lazy"/>

</resources>

 

Download属性有两个值:eager说明在应用程序启动之前必须下载到本地;lazy说明在启动之前没有必要下载到本地。

 

n       j2se子元素

此元素指明了应用程序所支持的JRE的版本以及传递给JVM的标准参数

       <j2se version="1.3" initial-heap-size="64m" max-heap-size="128m"/>
       <j2se version="1.4.2+" href="http://java.sun.com/products/autodl/j2se"

java-vm-args="-esa -Xnoclassgc"/>

默认情况下,version指的是平台版本,当前JRE平台版本有1.2,1.3,1.41.5(平台版本没有包含微版本号比如1.4.2)

 

Version也可以指定精确的版本号,比如1.3.1_07, 1.4.2, or 1.5.0-beta2 但必须包含href属性,如:

<j2se version="1.4.2" href="http://java.sun.com/products/autodl/j2se"/

<j2se version="1.4.2_04" href="http://java.sun.com/products/autodl/j2se"/>

 

如果指定了一个平台的版本,Java Web Start将不会考虑那些已安装了的 non-FCS (i.e., milestone) JRE,比如:

<j2se version="1.4+"/>

将不会考虑已安装了的1.4.1-ea 或者 1.4.2-beta JRE as a match for the request

 

n            property元素

指定系统属性,可以通过System.getProperty()System.setProperty()来访问。这个元素有两个属性:name value

 

Ø         Application-desc元素

此元素用来指明装载运行的普通的应用程序而不是applet.它有几个属性:

可选属性main-class以及一个或多个嵌套的argument子元素

  <application-desc main-class="Main">
    <argument>arg1</argument>
    <argument>arg2</argument>
  </application-desc>

  如果JNLP文件包含的第一个JAR文件中的manifest 文件中有main class,那么就可以省略main-class属性

 

1.3 装载细节

应用程序的main class默认情况下,是由application-desc元素的main-class属性决定的。如果没有指定这个属性,那么main JAR文件中的manifest项将被使用,其中指出了哪个是main class.

分享到:
评论

相关推荐

    Java web Start初级教程

    2. **构建webstart目录结构**: - `images`:存放jnlp文件中定义的图标文件。 - `jar`:存放已打包的JAR文件。 - `jnlp`:存放描述文件(*.jnlp)。 - `src`:存放源代码。 - `WEB-INF/classes`:存放编译后的...

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

    Java Web Start(简称 JWS)是 Sun Microsystems(现 Oracle)为解决 Java 应用程序部署和更新问题而开发的一项技术。它是 JSR-56 规范的一部分,旨在提供一种简便的方法来发布和维护在客户端 JVM 上运行的 Java ...

    深入探索Java Web Start:简化Java应用部署与更新

    Java Web Start,也称为Java Network Launch Protocol(JNLP),是Oracle提供的一种技术,用于从Web上启动和自动更新Java应用程序。它允许用户通过一个Web链接启动富客户端Java应用程序,同时确保应用程序始终保持...

    webstart

    "学会怎么用WebStart部署应用程序.doc"和"WebStart入门基础教程.doc"是两份学习资料,分别涵盖了WebStart的部署方法和基础教程,对于想要掌握WebStart技术的开发者来说,这两份文档提供了宝贵的实践指导。...

    Java web 打印,Java pdf打印,Java 打印

    在描述中提到,此项目并不依赖于Internet Explorer(IE)的打印功能,这意味着它可能使用了Java Applet或者Java Web Start技术,这些技术可以让Java代码在用户的浏览器中运行,从而直接控制本地打印机。 接着,我们...

    关于Java的Web服务器的搭建

    无论你选择哪种方式,了解和掌握Java Web服务器的搭建对于开发和维护Java Web应用至关重要。熟练的搭建技巧能够帮助你在开发过程中节省时间,提高工作效率。在实际操作中,可能还会遇到如防火墙设置、端口冲突等问题...

    JavaWebStart

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

    java web 开发

    Java Web Start技术允许用户通过浏览器启动和运行Java应用程序。虽然这项技术在Java中已经存在了一段时间,但是使用Jython来编写Web Start应用程序可以简化开发流程,使开发者能够更容易地创建和部署这类应用。 ###...

    5-2_Java底层开发技术(Java高级).pdf

    Java 高级开发技术总结 Java 高级开发技术是 Java 开发语言的高级部分,它涵盖了 Java 底层开发技术的多个方面。下面我们将对 Java 高级开发技术的主要知识点进行总结。 多线程 多线程是 Java 高级开发技术的重要...

    java Applet技术文档

    - Java Web Start:一种通过网络启动和运行Java应用程序的技术,可自动下载并安装所需JAR包。 - Applet Viewer:Java SDK附带的工具,用于离线测试Applet。 - 浏览器支持:早期的浏览器(如Netscape Navigator和...

    java-start-learning-.rar_Java Servlet JSP

    Java Servlet和JSP是Web开发中的核心技术,它们在构建动态网站和企业级应用程序中起着至关重要的作用。...通过深入学习和实践,你将能够掌握Java Web开发的基础,为构建自己的Web应用打下坚实基础。

    Java2核心技术第7版(英文版)

    14. **Java Applets和WebStart**:虽然随着技术发展,这两部分的重要性有所下降,但书中仍可能包含关于创建和部署Java小应用程序(Applet)及使用WebStart技术的介绍。 15. **Java模块系统**:讲解Java 9引入的模块...

    java小程序

    JavaFX提供了丰富的用户界面工具包,用于构建桌面、移动和Web应用,而Java Web Start则是Oracle公司提供的一个技术,它允许用户通过浏览器下载并运行Java应用程序。这两个技术都依赖于Java运行时环境(JRE),使得...

    javaweb

    例如,Java Web Start(JWS)是Oracle提供的一个技术,它允许用户通过Web浏览器下载并运行Java应用程序,这些应用程序可以直接在用户的桌面上运行,如同本地应用一样。 第二部分可能涉及到Java的Swing或JavaFX库,...

    java网页嵌套游戏游戏

    Java网页嵌套游戏是一种在网页中集成Java游戏的技术,它利用了Java Applet或Java Web Start等技术。Java Applet是早期实现网页嵌入游戏的主要方式,它允许开发者编写Java程序,然后通过浏览器插件在用户端运行。而...

    java 小程序

    Java Web Start则通过JNLP(Java Network Launch Protocol)技术,允许用户只需点击一个链接即可下载并运行Java应用程序。 在JavaFX中,关键知识点包括: 1. **Scenes和Nodes**:JavaFX的界面由场景(Scenes)和...

    java 声音技术浅析

    综上所述,Java对声音技术的支持是多维度的,无论是Web环境下的Applet还是独立的Java应用程序,甚至是专业的声音处理需求,Java都提供了相应的工具和框架。掌握这些技术,可以使开发者在创建多媒体应用时更加...

    java2参考大全

    同时,Java与Internet的密切关系也被强调,例如Java Web Start和Java Servlet等技术都是Java在网络应用中重要的应用形式。 Java的跨平台特性是它的一个显著特点,Java程序可以在任何安装了Java虚拟机(JVM)的平台...

    Java 2平台安全技术-结构,API设计和实现(pdf)

    Java 2平台安全技术是Java开发中的核心组成部分,它为应用程序提供了一套强大的安全机制,保护系统免受恶意代码的攻击。...这份资料将引导你了解并掌握Java安全的关键概念,提升你的开发技能和对安全的理解。

Global site tag (gtag.js) - Google Analytics