JNLP CodeBase 本地磁盘的定位格式

3426阅读 0评论2009-04-26 zenith518
分类:Java

1. 概述
JNLP是Java应用/Applet快速发布的一种方法。常用于通过Web网页进行Java应用的快速部署。
 
2. 应用场景
如果不存在Web服务器时,也需要进行Java应用/Applet的访问。
这样JNLP就提供了一种,本地文件系统的访问方式。
 
3. 原理
使用JNLP标签中的CodeBase,来指定本地文件系统的绝对路径或相对路径。
从文档以及很多官方资料上看,JNLP的codebase,并不支持本地文件系统的相对路径标识。
但是,通过尝试还是发现了JNLP的本地文件系统相对路径的表示方法。
 
很多资料都说明,只能使用文件系统绝对路径来标识该值,如:
 
 

<jnlp
  spec="1.5+"
  codebase="file://c:/temp/guistart"
  href="guistart.jnlp">

 

4. 问题

但是这样会带来很多不变,因为每次在本地文件系统保存这些库文件和jnlp文件都需要修改该属性,才能正常启动。在网上也有很多老外,为此还写了一些程序,对基于CD发行的Java 应用,放置多个指向不同盘符的JNLP,使用一个特制的launch程序,去检测当前的盘符,并启动相应的JNLP文件。这样只要预置26个JNLP就能适用不同CD盘符的可能性了。

但是,难到真的没有识别相对路径的可能了吗?Java不会这么傻吧。

5. 解决方法

其实,只要使用如下格式,就能省不少上面这些画蛇添足的事了。

<jnlp
  spec="1.5+"
  codebase="file:."
  href="guistart.jnlp">

在这种情况下,无论我们的应用在本地文件系统的什么地方,都能直接运行了。

从而真正实现了高效简便的目标。

Zenith518

2009.04.26

 

上一篇:客户化基于Wireshark协议分析的Radius字典
下一篇:当snoop遇上TCP CheckSum Offload