如何使用Java Web Start部署应用程序?

如何使用Java Web Start部署应用程序?

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;
Buttonbutton;

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:rookieport@hotmail.com">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的帮助.
有疑问的地方欢迎来信讨论zlyperson@163.net