|
|
|
| 您的位置:首页>>JSP和Servlet>>学用Java Web Start 部署应用程序 |
|
|
学用Java Web Start 部署应用程序
|
| 2005-08-25 来源:Java研究组织 作者:bruce |
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的程序
- 配置一个新的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"/>
- <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目录下.
- 编译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:rookieport@hotmail.com">Rookie</a></address>
- </body>
- </html>
-
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
|
|
|
|