Java Web Start基本配置
发表于:2006-11-13 | 零回复

  Java Web Start是一个基于Java的应用程序,它允许从Web服务器启动、部署和更新Java 2客户端应用程序。这些应用程序可以通过Web的超链接或Java Web start提供的应用程序管理器(Java Application Manager)实用程序初始化运行。若应用程序是第一次运行,将从Web下载被部署的客户端应用程序,之后启动时,会自动检查应用程序的版本是否有更新,如果没有则启动先前下载到本地的程序,有则仅下载更新了的部分。

  Java Web Start的核心是JNLP(Java Networking Language Protocol)文件。JNLP是一个XML文件,定义的应用程序的相关参数。

  jnlp codebase属性用于在JNLP文件中指定所有的相关URL,这里指定为本机上的服务。href属性指定了JNLP文件自身,为的是使Java Web Start能够找到并解释执行应用程序。information属性定义了应用程序的基本信息,用于启动时显示。resources标记指定应用程序使用哪些jar文件和如何下载jar文件。本文中使用的慢下载。security标记是为了能够使应用程序访问本地所加入的(若为访问本地,还需将所有Jar文件和资源进行数字签名)。

  我们做的这项目中要求应用程序可以对本地文件进行完全控制,所以除了在JNLP中加入security标签之外,还对使用到的jar文件进行了数字签名。具体方法是利用Java的keytool工具。Keytool是一个有效的安全钥匙和证书的管理工具,它能够使用户使用数字签名来管理自己的私有或公共钥匙。具体使用方法进入要签名的jar目录,并执行以下命令:
keytool -genkey -keystore mykeystore -alias jwstest1

  该命令是生成一个证书文件,运行该命令时,屏幕上会提示输入密码,姓名,单位名等相关信息,其它的都一略而过,但密码一定要记住,用来为jar文件进行签名时要用到。根据提示执行完命令后,到目录下会看到生成的mykeystore文件。接下来的工作就是利用该文件为jar签名,执行以下命令:
jarsigner -keystore myKeystore jwstest.jar jwstest1

  命令执行成功后会在屏幕 显示成功提示并有一条警告说该证名书只能使用6个月。为了能使应用程序不受时间的限制,keytool命令提供了一个参数validity,利用它可以指定签名有效日。例如:
keytool -genkey -keystore mykeystore -alias jwstest1 -validity 55555

  OK,先写到这吧。

评论留言