Java Web Start入门教程

版权所有:(xiaodaoxiaodao)蓝小刀 xiaodaoxiaodao@gmail.com

http://www.blogjava.net/xiaodaoxiaodao/articles/103469.html

转载请注明来源/作者

关于Web Start的JNLP Specification可以到sun网站http://java.sun.com/products/javawebstart/download-spec.html下载。

下面是用最简单的HelloWorld方法实现一个Java Web Start的例子,工程webstart目录结构如下:

目录说明如下:

images :存放*.jnlp文件中定义的图标文件

jar :存放classes打包后的jar文件

jnlp :存放*.jnlp描述文件

src :java源码

WEB-INF/classes :java编译后的class文件

webatart 建立步骤如下:

1 .在webstart/src/jws下新建一HelloWorld.java文件:

package jws;

import javax.swing.*;

public class HelloWorld {

private JFrame jFrame;

private JPanel jPanel;

private JLabel label;

public HelloWorld(){

jFrame = new JFrame("HelloWorld Test Frame");

label = new JLabel("Hello, world!");

jPanel = new JPanel();

jPanel.add(label);

jFrame.add(jPanel);

jFrame.pack();

jFrame.setSize(400, 150);

jFrame.setLocation(400, 300);

jFrame.setVisible(true);

jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

// webstart 启动时执行的主方法

public static void main(String args[]){

new HelloWorld();

}

}

注: 在main方法中完全可以不用写new HelloWorld();,而只在main方法中输出一条测试语句

System.out.println("This is test!");

进行简单测试,打印结果会出现在步骤7java控制台中

2 .编译HelloWorld.java,在WEB-INF/classes目录下执行命令:

jar cvf helloworld.jar jws/*.class

执行后把生成的helloworld.jar包拷贝到webstart/jar/jws目录下。

(在IDEA中打包使用Jar Tool插件比较方便,eclipse中可以使用Fatjar)

3 .从helloworld.jar/META-INF中解压出MNIFEST.MF,更改MNIFEST.MF内容:

Manifest-Version: 1.0

Created-By: 1.5.0_01 (Sun Microsystems Inc.)

为:

Manifest-Version: 1.0

Created-By: 1.5.0_01 (Sun Microsystems Inc.)

Main-Class: jws.HelloWorld

然后在WEB-INF/classes目录下执行命令:

jar umf MANIFEST.MF helloworld.jar

把新的MNIFEST.MF更新到helloworld.jar包中,

注: 如果在下面步骤4中的<application-desc main-class="jws.HelloWorld"/>指定了Main-Class方法,此步骤可以省略。

4 .webstart/jnlp目录下新建一HelloWorld.jnlp文件:

<?xml version="1.0" encoding="UTF-8"?>

<!--codebase 属性指出搜索应用程序资源的顶级URL,下面的icon/jar元素都是以这个URL为基本.-->

<jnlp codebase="http://127.0.0.1:8081/webstart">

<information>

<!-- 在"开始"-"运行"菜单中输入"javaws"或"javaws -viewer"启动Web Start,会看到客户端已经安装的webstart应用程序-->

<!--title :应用程序标题 vendor:供应商

title/vendor 元素必须,会显示在用"javaws -viewer"命令

打开的应用程序缓存查看器(Java Application Cache Viewer)中-->

<title>HelloWorld</title>

<vendor>Lively Corporation</vendor>

<description>HelloWorld Test Example for WebStart.</description>

<!--homepage :存放有关应用程序的相关文档的URL,如help文件等,仅仅是description作用-->

<homepage href="http://127.0.0.1:8081/webstart/index.html"/>

<!--icon 指定图标会显示在应用程序缓存查看器中,

在查看器中新建webstart快捷方式到桌面时也会显示为快捷方式图标,

只支持GIF/JPEG格式,其它格式无效-->

<icon href="./images/logo.jpg"/>

<!--splash 在sun的文档中提到会出现在webstart启动时的闪屏中,不过可能由于速度问题,我没有观察到-->

<icon kind="splash" href="./images/logo.jpg"/>

<!-- 允许离线启动,可以使用javaws -offline命令-->

<offline-allowed/>

</information>

<resources>

<!-- 指定客户端需要安装的j2se版本,下面指定为1.5+,

如果版本是1.4,在链接此jnlp文件时会提示更新j2se版本-->

<j2se version="1.5+"/>

<!-- 指定要下载到本地的jar文件(注意,所有的文件都需要打包才能够下载),

可以包含一些资源文件,如icons/configuration files,可以使用getResource方法取得-->

<jar href="./jar/jws/helloworld.jar"/>

</resources>

<!--application-desc 必须,指定webstart启动时执行jar文件中的哪个类-->

<application-desc main-class="jws.HelloWorld"/>

</jnlp>

注:

其中*.jnlp文件的语法的详细信息可以在sun网站上查询http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html

其中javaws命令行的详细参数可以在sun网站上查询http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/javaws.html#options

时间: 2024-08-22 14:38:41

Java Web Start入门教程的相关文章

Java Mybatis 框架入门教程

一.Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果.MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素.Map接口和POJOs(普通java对 象)到数据库中的记录. 二.MyBatis工作流程 (1)加载配置并初始化 触发条件:加载配置文件 配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个

Java Mybatis框架入门基础教程_基础知识

一.Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果.MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素.Map接口和POJOs(普通java对象)到数据库中的记录. 二.MyBatis工作流程 (1)加载配置并初始化 触发条件:加载配置文件 配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个

AngularJS入门教程之服务(Service)_AngularJS

AngularJS 服务(Service) AngularJS 中你可以创建自己的服务,或使用内建服务. 什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. AngularJS 内建了30 多个服务. 有个 $location 服务,它可以返回当前页面的 URL 地址. 实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &

Java正则表达式基础入门知识_正则表达式

众所周知,在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力.因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段. 大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 一:什么是正则表达式

在Java的Struts框架下进行web编程的入门教程_java

当点击一个超链接或提交一个HTML表单在Struts2 的 Web应用程序,输入所收集被发送到一个Java类称为操作控制器.当动作执行后,结果选择了一个资源来呈现响应.资源通常是一个JSP,但它也可以是一个PDF文件,Excel电子表格,或一个Java applet 窗口. 假设已经建立开发环境.现在让我们继续为第一个 "Hello World" 的 struts2 项目构建.这个项目的目的是建立一个Web应用程序,它收集用户的姓名,并显示"Hello World"

Java Servlet 和 JSP入门教程(1)

js|servlet|教程|入门教程 Java Servlet 和 JSP教程(1) 1 概述 1.1 Java Servlet及其特点 Servlet是Java技术对CGI编程的回答.Servlet程序在服务器端运行,动态地生成Web页面.与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资(更重要的是, Servlet程序员收入要比Perl程序员高:-): 高效 在传统的CGI中,每个请求都要启动一个新的

Java Servlet 和 JSP入门教程(2)

js|servlet|教程|入门教程 Java Servlet 和 JSP教程(2) 2 安装 2.1 安装Servlet和JSP开发工具 要学习Servlet和JSP开发,首先你必须准备一个符合Java Servlet 2.1/2.2和JavaServer Pages1.0/1.1规范的开发环境.Sun提供免费的JavaServer Web Development Kit(JSWDK),可以从http://java.sun.com/products/servlet/下载. 安装好JSWDK之后

Java Servlet 和 JSP入门教程(3)

js|servlet|教程|入门教程 Java Servlet 和 JSP教程(3) 3 Servlet 3.1 Servlet基本结构 下面的代码显示了一个简单Servlet的基本结构.该Servlet处理的是GET请求,所谓的GET请求,如果你不熟悉HTTP,可以把它看成是当用户在浏览器地址栏输入URL.点击Web页面中的链接.提交没有指定METHOD的表单时浏览器所发出的请求.Servlet也可以很方便地处理POST请求.POST请求是提交那些指定了METHOD="POST"的表

Java Servlet 和 JSP入门教程(4)

js|servlet|教程|入门教程 Java Servlet 和 JSP教程(4) 3.3 输出HTML的Servlet 大多数Servlet都输出HTML,而不象上例一样输出纯文本.要输出HTML还有两个额外的步骤要做:告诉浏览器接下来发送的是HTML:修改println语句构造出合法的HTML页面. 第一步通过设置Content-Type(内容类型)应答头完成.一般地,应答头可以通过HttpServletResponse的setHeader方法设置,但由于设置内容类型是一个很频繁的操作,因