爱心技术专栏专题

学用JavaWebStart部署应用程序

摘录:java基础 来源:java基础 加入时间:2007年03月08日
摘要:
学用JavaWebStart部署应用程序

Java Web Start 是部署基于 Java TM 技术的应用程序的一种新技术。它是连接计算机和 Internet 的便捷渠道,使用户可以在 Web 上运行和管理应用程序。Java Web Start&nbs;…

转载:转载请保留本信息,本文来自
http://www.51dibs.com
/html/2006/article/info8/a_c9ac7095f7e0e020.htm

学用JavaWebStart部署应用程序

站点:爱心种子小博士 关键字:学用JavaWebStart部署应用程序

   
学用JavaWebStart部署应用程序
Java Web Start 是部署基于 Java TM 技术的应用程序的一种新技术。它是连接计算机和 Internet 的便捷渠道,使用户可以在 Web 上运行和管理应用程序。Java Web Start 提供简便的一点激活应用程序,并确保总是运行最新版本,以消除复杂的安装或升级过程。 ------来自Sun Java Web Start Release

      我觉得jws挺简单的,基本上对于程序员来说无须额外学些什么,只要会写个jnlp的文件就可以了.
先对我的环境设置做个说明:

Tomcat4
 下载地址:http://jakarta.apache.org/site/binindex.html
JavaWebStart1.0.1_02(build b03)
 下载地址:http://java.sun.com/products/javawebstart
JNLP Developers Pack
 下载地址:http://java.sun.com/products/javawebstart/download-jnlp.html

以下步骤为设置运行支持jnlp的程序

  1. 配置一个新的Tomcat虚拟目录命名为myjnlp吧,下面建立app,images子目录.

  2. 写一个MyIE.java,功能是输入一个url,可以打开这个url.
    程序中jnlp的部分其实很少.
    源程序如下:
    1. import java.awt.*; 
    2. import java.awt.event.*; 
    3. import java.io.*; 
    4. import java.lang.*; 
    5. import java.applet.*; 
    6. import javax.swing.*;
    7. import javax.jnlp.*; 
    8. public class MyIE 
    9.  BasicService bs;
    10.  JFrame jFrame; 
    11.  TextField tField;
    12.  Button button;
    13.  public MyIE() 
    14.  {
    15.   jFrame = new JFrame("MyIE Browser");
    16.   tField = new TextField("http://www.google.com");
    17.   button = new Button("ä¯ÀÀ");
    18.   
    19.   Container p = jFrame.getContentPane();
    20.   p.setLayout(new BorderLayout());
    21.   p.add(button,BorderLayout.EAST);
    22.   p.add(tField,BorderLayout.CENTER);
    23.   
    24.   button.addMouseListener(new MouseAdapter(){
    25.    public void mousePressed(MouseEvent e )
    26.    {
    27.     try{
    28.     bs.showDocument(new java.net.URL(tField.getText()));
    29. //打开链接
    30.     }catch(java.net.MalformedURLException exp)
    31.     {
    32.      exp.printStackTrace();
    33.     }
    34.    }
    35.   });
    36.   jFrame.addWindowListener(new WindowAdapter(){
    37.    public void windowClosing(WindowEvent e) 
    38.    { 
    39.     jFrame.setVisible(false);
    40.     System.exit(0);
    41.    }    
    42.         });
    43.         jFrame.pack();
    44.         jFrame.setSize(400,80); 
    45.         jFrame.setVisible(true); 
    46.   try {
    47.    bs = (BasicService)ServiceManager.lookup("javax.jnlp.BasicService"); 
    48. //查找jnlp的基本服务接口.
    49.   }catch (UnavailableServiceException e) { 
    50.    bs = null
    51.   } catch (Exception e) {
    52.    bs = null;
    53.    e.printStackTrace(); 
    54.   } 
    55.  } 
    56.   
    57.  public static void main(String args[])
    58.  {
    59.   MyIE myie = new MyIE();
    60.  }
    61. }

  3. 写一个jnlp的文件命名为MyIE.jnlp(或者其他,但要以jnlp结尾),这是一个描述性的文件.
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <jnlp codebase="http://liaoyuan:8080/myjnlp/app">
    3.  <information>
    4.   <title>MyIE</title>
    5.   <vendor>RookieSoft Corporation</vendor>
    6.   <description>MyIE just demo how to program with jnlp.</description>
    7.   <homepage href="http://liaoyuan:8080/myjnlp/app/index.html" />
    8.   <icon href="./../images/rookie.gif"/> 
    9.   <icon kind="splash" href="./../images/logo.gif"/>
    10.   <offline-allowed>
    11.  </information>
    12.  <resources>
    13.   <j2se version="1.2+"/>
    14.   <jar href="MyIE.jar"/>
    15.  </resources>
    16.  <application-desc main-class="MyIE"/>
    17. </jnlp>

    保存该文件到app目录下.

  4. 编译MyIE.java(需要JNLP Developers Pack中的jnlp.jar;)

  5. 打包产生的class文件到MyIE.jar,并把MyIE.jar保存到app目录下.

  6. 建立一个list.html文件,保存到app目录下.
    1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
    2. <html>
    3.   <head>
    4.     <title>Remote Apps Webpage</title>
    5.   </head>
    6.   <body>
    7.       <h1>Remote Apps Webpage</h1>
    8. <ul>
    9. <li><a href="MyIE.jnlp">MyIE</a>
    10. </ul>
    11.       <hr>
    12.       <address><a href="mailto:[email protected]">Rookie</a></address>
    13.   </body>
    14. </html>

  7.   
     1) 起动你的tomcat访问list.html,点MyIE连接就可以运行了.
     2) 或者启动你的JavaWebStart,在其文件---->首选项菜单--->高级---->删除应用程序URL文本框中输入list.html的联接.
     我的是http://liaoyuan:8080/myjnlp/app/list.html,按确定,点查看远程应用程序就可以看到MyIE列在其中,便可以运行.


 这个程序我只用了一点点jnlp的东西,他还有一些的服务如访问本地文件,打印等.可参考JNLP Developers Pack的帮助.
有疑问的地方欢迎来信讨论[email protected]

客户服务中心信箱:[email protected] [email protected] 网站地图

声明

合作伙伴: