学用Java Web Start 部署应用程序

类别:Java 点击:0 评论:0 推荐:

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 Developer's Pack
 下载地址:http://java.sun.com/products/javawebstart/download-jnlp.html


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

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

2.写一个MyIE.java,功能是输入一个url,可以打开这个url.
程序中jnlp的部分其实很少.
源程序如下:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.lang.*;
import java.applet.*;
import javax.swing.*;
import javax.jnlp.*;

public class MyIE
{
 BasicService bs;
 JFrame jFrame;
 TextField tField;
 Button button;
 
 public MyIE()
 {
  jFrame = new JFrame("MyIE Browser");
  tField = new TextField("http://www.google.com");
  button = new Button("ä¯ÀÀ");
  
  Container p = jFrame.getContentPane();
  p.setLayout(new BorderLayout());
  p.add(button,BorderLayout.EAST);
  p.add(tField,BorderLayout.CENTER);
  
  button.addMouseListener(new MouseAdapter(){
   public void mousePressed(MouseEvent e )
   {
    try{
    bs.showDocument(new java.net.URL(tField.getText()));

//打开链接
    }catch(java.net.MalformedURLException exp)
    {
     exp.printStackTrace();
    }
   }
  });
  jFrame.addWindowListener(new WindowAdapter(){
   public void windowClosing(WindowEvent e)
   {
    jFrame.setVisible(false);
    System.exit(0);
   }   
        });
        jFrame.pack();
        jFrame.setSize(400,80);
        jFrame.setVisible(true);

  try {
   bs = (BasicService)ServiceManager.lookup("javax.jnlp.BasicService");

//查找jnlp的基本服务接口.
  }catch (UnavailableServiceException e) {
   bs = null;
  } catch (Exception e) {
   bs = null;
   e.printStackTrace();
  }
 }
 
 public static void main(String args[])
 {
  MyIE myie = new MyIE();
 }
}

3.写一个jnlp的文件命名为MyIE.jnlp(或者其他,但要以jnlp结尾),这是一个描述性的文件.
<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase="http://liaoyuan:8080/myjnlp/app">
 <information>
  <title>MyIE</title>
  <vendor>RookieSoft Corporation</vendor>
  <description>MyIE just demo how to program with jnlp.</description>
  <homepage href="http://liaoyuan:8080/myjnlp/app/index.html" />
  <icon href="./../images/rookie.gif"/>
  <icon kind="splash" href="./../images/logo.gif"/>
  <offline-allowed/>
 </information>
 <resources>
  <j2se version="1.2+"/>
  <jar href="MyIE.jar"/>
 </resources>
 <application-desc main-class="MyIE"/>
</jnlp>
保存该文件到app目录下.

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

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

6.建立一个list.html文件,保存到app目录下.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
  <head>
    <title>Remote Apps Webpage</title>
  </head>

  <body>
      <h1>Remote Apps Webpage</h1>
<ul>
<li><a href="MyIE.jnlp">MyIE</a>
</ul>
      <hr>
      <address><a href="mailto:[email protected]">Rookie</a></address>
  </body>
</html>

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

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

本文地址:http://com.8s8s.com/it/it18282.htm