Java Web Start(以下简称JWS)是SUN提供的一种通过Web来部署和发布Java 程序的新技术,它既可以用来发布Application,也可以用来发布Applet,它获去年全球Java技术最佳创意奖。它仅在第一次运行时下载程序,以后的事情,就全全交给JWS,包括版本的自动更新和维护。这是我们曾经梦寐以求的事情,程序运行在客户端(本地运行,当然有足够的速度),但不用去安装配置客户端,也不用去考虑版本升级后对客户端的维护,这就是JWS提供给我们的好处之一
JWS主要用来通过网络部署你的应用程序,它具有安全、稳定、易维护、易使用的特点。用户访问用JWS部署应用程序的站点,下载发布的应用程序,既可以在线运行,也可以通过JWS的客户端离线运行已下载的应用程序。对同一个应用程序,在第一次运行时下载,以后每次运行时,JWS的客户端会自动去探测是否有版本更新,有更新就自动下载新版本,没有更新就直接运行本地当前版本,所有的麻烦全由JWS去承担
第一步:开发你希望发布的应用程序
第二步:把应用程序及所用到的所有资源打成一个或多个jar包
第三步:如果你的应用程序不会用到任何运行这个应用程序的机器的本地资源,那么,你的应用程序就可以部署了。
第四步:如果你的应用程序用到了运行这个应用程序的机器的本地资源,那么,你的应用程序就必须先签名然后才可以发布。
第五步:如何给应用程序签名
1、到Dos状态下,进入你需发布应用程序的jar包所在的目录,运行下面这句话 keytool -genkey -keystore myKeystore -alias jwstest
2、对你需发布应用程序的jar包进行签名,运行下面这句话:
jarsigner -keystore myKeystore yourtest.jar jwstest
jsp中直接写个链接指向JNLP <h1><a href="jnlp/jj.jnlp">JJ_ERP</a></h1>
JNLP文件:
<?xml version="2.0" encoding="UTF-8"?>
<jnlp codebase="http://192.168.18.109:8080/jj_erp" href="jnlp/jj.jnlp">
<information>
<title>Login</title>
<vendor>Lively Corporation</vendor>
<description>HelloWorld Test Example for WebStart.</description>
<homepage href="http://192.168.18.109:8080/jj_erp/index.jsp"/>
<icon href="./images/logo.gif"/>
<icon kind="splash" href="./images/splash.png"/>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="http://192.168.18.109:8080/jj_erp/main.jar" main="true"/>
<jar href="http://192.168.18.109:8080/jj_erp/util.jar"/>
<jar href="http://192.168.18.109:8080/jj_erp/json.jar"/>
</resources>
<application-desc main-class="client.mainui.MainFrame"/>
</jnlp>
在web.xml中要配置JNLP格式
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>