Java|Java Web Start实例

  1. JWS让用户可以下载服务器端的Java Application到本机运行,并且没有安装、配置等繁琐的操作
  2. JWS的运行原理:浏览器运行Java Application的链接指向的不是程序本身,而是一个*.jnlp(Java Network Launching Protocol,java网络加载协议 ),该文件包含了Java Application的一些配置信息。浏览器解读这个文件的信息,将服务器端的Java Application下载到本机上,然后运行。由于第一次运行需要下载程序,所以运行比较慢。第二次运行只是检查版本是否有没有更新,如果没有直接在本地运行,如果更新则会自动更新这个程序。
Java Web Start实例搭建
  • 新建一个Java Project,命名为JavaWebStart
package jws; import javax.swing.*; public class HelloWord { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFramejFrame = new JFrame("HelloWorld"); JLabellabel = new JLabel("Hello, world!"); JPaneljPanel = new JPanel(); jPanel.add(label); jFrame.add(jPanel); jFrame.pack(); jFrame.setSize(400, 150); jFrame.setLocation(400, 300); jFrame.setVisible(true); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }); } }

  • 打成可执行的Jar包
    JavaWebStart->Export->Runnable JAR file->选择存放位置和jar名(如:C:\Users\Desktop\JavaWebStart:/HelloWorld.jar)和运行的main方法所在的类(jws.HelloWord)->finish
  • 数字签名
    对打成可执行文件的HelloWorld.jar包用下面的命令来签名:
    1、到Dos状态下,,进入你们需发布应用程序的jar包所在的目录,运行下面这句话:
    keytool -genkey -keystore myKeystore -alias jwstest
    (它们将会提示你们输入用户名、密码等,,不用理它们,,按照提示随便输入即可,,但一定要记住密码..运行结束它们将会在当前路径下创建名为myKeystore(的)文件..)
    说明:keytool是JDK自带的一个用于数字签名的工具。该语句的意思是生成一个证书,并且其文件名是:myKeystore。
    2、用证用为应用程序签名
    jarsigner -keystore myKeystore HelloWorld.jar jwstest
    (其中HelloWorld.jar是你们(的)jar包名(这里就是HelloWorld.jar),你们需要修改它们,,别(的)就不必修改了..运行时会提示你们输入密码,,就是你们刚才在生成myKeystore文件时设定(的)密码..)
  • 在tomcat的webapps文件夹下新建一个JavaWebStart文件夹,将HelloWorld.jar文件拷入到它里面。
  • 在JavaWebStart的文件下创建一个helloWorld.jnlp文件。
Hello World - 锐客网 Lively Corporation HelloWorld Test Example

  • 新建一个index.html文件
Launch Application

  • 启动Tomcat服务器,输入http://localhost:8080/JavaWebStart/index.html然后点击Launch Application。就可以访问HelloWorld.jnlp文件。服务器根据HelloWorld.jnlp文件来加载HelloWorld.jar文件,就可以在客户端直接运行服务器的资源,它工作过程是先将服务器资源下载到客户机,再运行,每一次访问都会到服务器去看看可执行jar包是否为最新的,本地若不是最新的就重新加载最新的,再运行,保持资源的最新版本。
  • 如果弹出应用程序安全设置阻止(java应用程序已被阻止的问题并不是由于浏览器的安全设置所导致的,而是由于java应用程序的安全设置所产生的,特别是在新版本的java中)解决的办法是。在操作系统的控制面板中点击程序,找到程序中Java,点击进入。Java控制面板中的安全选项卡里,点击编辑站点列表。输入需要访问还有java程序的页面地址,点击添加,忽略安全风险,点击继续。再次在浏览器中运行还有java的页面时,点击运行即可。
【Java|Java Web Start实例】参考资料:
http://jingyan.baidu.com/article/ea24bc39bb94ddda63b33165.html
http://blog.163.com/xiexueyong1987%40126/blog/static/1262673422010102275646842/
http://blog.csdn.net/hz_chenwenbiaotmb/article/details/5744228

    推荐阅读