Java Web Start是部署基于Java TM技术的应用程序的一种新技术。它是连接计算机和 Internet的便捷渠道,使用户可以在 Web 上运行和管理应用程序。Java Web Start 提供简便的一点激活应用程序,并确保总是运行最新版本,以消除复杂的安装或升级过程。
我觉得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的程序,配置一个新的Tomcat虚拟目录命名为myjnlp吧,下面建立app,images子目录。写一个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();
}
}
写一个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?http://www.xvna.com"/>
<icon kind="splash" href=
"./../images/logo.gif?http://www.xvna.com"/>
<offline-allowed>
</information>
<resources>
<j2se version="1.2+"/>
<jar href="MyIE.jar"/>
</resources>
<application-desc
main-class="MyIE"/>
</jnlp>
保存该文件到app目录下。编译MyIE.java(需要JNLP Developer's Pack中的jnlp.jar;)打包产生的class文件到MyIE.jar,并把MyIE.jar保存到app目录下。建立一个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>
1)起动你的tomcat访问list.html,点MyIE连接就可以运行了。
2)或者启动你的JavaWebStart,在其文件---->首选项菜单--->高级---->删除应用程序URL文本框中输入list.html的联接。
我的是http://liaoyuan:8080/myjnlp/app/list.html,按确定,点查看远程应用程序就可以看到MyIE列在其中,便可以运行。