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+".
codebase:JNLP文件中所有href属性指定的相对URL都是以这个属性值为基础的。
Href: 一个URL,指定JNLP文件本身所在的位置
Ø INFORMATION元素
n Title:应用程序的名字,必需
n Vendor:应用厂商的名字,必需
n Homepage:只包含一个href属性,用来定位应用程序所在的主页。JNLP Client能用它来把用户指向Web Page,在哪里用户能找到更多的关于应用程序的信息。
n Description:简短的对应用程序的描述。此元素是可选的。kind属性用来规定怎样使用描述,kind的值如下三个One-line、short、tooltip.每个这种的元素只能有一个,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"/>
ü 可选的WIDTH和HEIGHT属性描述了图标的大小。
如果JNLP文件中没有包含任何的icon元素,splash image将用应用程序的title和vendor来构造。
n Offline-allowed元素
可选元素,说明应用程序是否可以离线启动。如果指定,则应用程序在离线的情况下也可以装载运行。如果应用离线装载运行,将不会检查程序的更新情况,并且API对BasicService.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注册关联。它有两个必需的属性extensions和mime-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或者locale、os、arch.
资源元素有留个不同的子元素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必须时.dll而Solaris/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.4和1.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.
分享到:
相关推荐
2. **构建webstart目录结构**: - `images`:存放jnlp文件中定义的图标文件。 - `jar`:存放已打包的JAR文件。 - `jnlp`:存放描述文件(*.jnlp)。 - `src`:存放源代码。 - `WEB-INF/classes`:存放编译后的...
Java Web Start(简称 JWS)是 Sun Microsystems(现 Oracle)为解决 Java 应用程序部署和更新问题而开发的一项技术。它是 JSR-56 规范的一部分,旨在提供一种简便的方法来发布和维护在客户端 JVM 上运行的 Java ...
Java Web Start,也称为Java Network Launch Protocol(JNLP),是Oracle提供的一种技术,用于从Web上启动和自动更新Java应用程序。它允许用户通过一个Web链接启动富客户端Java应用程序,同时确保应用程序始终保持...
"学会怎么用WebStart部署应用程序.doc"和"WebStart入门基础教程.doc"是两份学习资料,分别涵盖了WebStart的部署方法和基础教程,对于想要掌握WebStart技术的开发者来说,这两份文档提供了宝贵的实践指导。...
在描述中提到,此项目并不依赖于Internet Explorer(IE)的打印功能,这意味着它可能使用了Java Applet或者Java Web Start技术,这些技术可以让Java代码在用户的浏览器中运行,从而直接控制本地打印机。 接着,我们...
无论你选择哪种方式,了解和掌握Java Web服务器的搭建对于开发和维护Java Web应用至关重要。熟练的搭建技巧能够帮助你在开发过程中节省时间,提高工作效率。在实际操作中,可能还会遇到如防火墙设置、端口冲突等问题...
JavaWebStart是Java平台上一种基于浏览器的Web应用程序部署技术,由Oracle公司开发,它允许用户通过点击网页上的链接来启动和运行本地的Java应用程序。这个技术的核心理念是提供了一种安全、便捷的方式,使得用户...
Java Web Start技术允许用户通过浏览器启动和运行Java应用程序。虽然这项技术在Java中已经存在了一段时间,但是使用Jython来编写Web Start应用程序可以简化开发流程,使开发者能够更容易地创建和部署这类应用。 ###...
Java 高级开发技术总结 Java 高级开发技术是 Java 开发语言的高级部分,它涵盖了 Java 底层开发技术的多个方面。下面我们将对 Java 高级开发技术的主要知识点进行总结。 多线程 多线程是 Java 高级开发技术的重要...
- Java Web Start:一种通过网络启动和运行Java应用程序的技术,可自动下载并安装所需JAR包。 - Applet Viewer:Java SDK附带的工具,用于离线测试Applet。 - 浏览器支持:早期的浏览器(如Netscape Navigator和...
Java Servlet和JSP是Web开发中的核心技术,它们在构建动态网站和企业级应用程序中起着至关重要的作用。...通过深入学习和实践,你将能够掌握Java Web开发的基础,为构建自己的Web应用打下坚实基础。
14. **Java Applets和WebStart**:虽然随着技术发展,这两部分的重要性有所下降,但书中仍可能包含关于创建和部署Java小应用程序(Applet)及使用WebStart技术的介绍。 15. **Java模块系统**:讲解Java 9引入的模块...
JavaFX提供了丰富的用户界面工具包,用于构建桌面、移动和Web应用,而Java Web Start则是Oracle公司提供的一个技术,它允许用户通过浏览器下载并运行Java应用程序。这两个技术都依赖于Java运行时环境(JRE),使得...
例如,Java Web Start(JWS)是Oracle提供的一个技术,它允许用户通过Web浏览器下载并运行Java应用程序,这些应用程序可以直接在用户的桌面上运行,如同本地应用一样。 第二部分可能涉及到Java的Swing或JavaFX库,...
Java网页嵌套游戏是一种在网页中集成Java游戏的技术,它利用了Java Applet或Java Web Start等技术。Java Applet是早期实现网页嵌入游戏的主要方式,它允许开发者编写Java程序,然后通过浏览器插件在用户端运行。而...
Java Web Start则通过JNLP(Java Network Launch Protocol)技术,允许用户只需点击一个链接即可下载并运行Java应用程序。 在JavaFX中,关键知识点包括: 1. **Scenes和Nodes**:JavaFX的界面由场景(Scenes)和...
综上所述,Java对声音技术的支持是多维度的,无论是Web环境下的Applet还是独立的Java应用程序,甚至是专业的声音处理需求,Java都提供了相应的工具和框架。掌握这些技术,可以使开发者在创建多媒体应用时更加...
同时,Java与Internet的密切关系也被强调,例如Java Web Start和Java Servlet等技术都是Java在网络应用中重要的应用形式。 Java的跨平台特性是它的一个显著特点,Java程序可以在任何安装了Java虚拟机(JVM)的平台...
Java 2平台安全技术是Java开发中的核心组成部分,它为应用程序提供了一套强大的安全机制,保护系统免受恶意代码的攻击。...这份资料将引导你了解并掌握Java安全的关键概念,提升你的开发技能和对安全的理解。