您的位置:jsp学习站首页 >> 其它 >> 其它 >> Java网络加载协议(JNLP)及Java Web Start

Java网络加载协议(JNLP)及Java Web Start (1)

[ 来源:互网络 | 更新日期:2007-10-03 11:03:34 | 浏览次数:15616]
简介:net 原文:
翻译:cherami
mail:cherami@163.net
 
原文:
http://java.sun.com/jdc/JDCTechTips/2001/tt0530.html


在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持
对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。

Java Network Launching Protocol (JNLP,java网络加载协议) 承诺改变这个现状。通过JCP(Java Community Process)的JSR-56的开发,
JNLP解决了很多先前用java开发针对客户端的功能的问题。一个JNLP客户端是一个应用程序或者说服务,它可以从宿主于网络的资源中加载应用程序。如果你使用JNLP打包一个应用程序,那么一个JNLP客户端能够:

o 为该应用探测,安装并且使用正确版本的JRE(java运行时环境)
o 从浏览器或者桌面加载应用程序
o 当新版本的应用出现时自动下载最新的版本。
o 为了加速启动速度在本机缓存应用程序需要的类
o 可以作为applet或者应用程序运行
o 在必要的情况下下载原始的库
o 以安全的方式使用诸如文件系统这样的本机资源
o 自动定位和加载外部依赖资源

Sun 提供了一个实现JNLP的称为Java Web Start(JWS)的参考实现。让我们使用它开发一个使用JFC Swing的简单应用。为了做这个,你需要从http://java.sun.com/products/javawebstart下载JWS。(译者注:JDK的新版本JDK1.4已经内置JWS,无须另外下载。)

下面是应用程序的代码:

//File HelloJNLP.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class HelloJNLP extends JFrame {
  public HelloJNLP() {
    super("Hello JNLP");
    String loadedFrom = this.getClass().getClassLoader().toString();
    JLabel jl = new JLabel("loaded by " + loadedFrom);
    JEditorPane jtp = new JEditorPane("text/plain", 
                                                  "Edit this text");
    getContentPane().add(jl, BorderLayout.NORTH);
    getContentPane().add(jtp, BorderLayout.CENTER);
  }

  public static void main(String [] args) {
    JFrame f = new HelloJNLP();
    f.setBounds(100,100,325,250);
    f.setDefaultCloseOperation(DISPOSE_ON_CLOSE
[1] [2] [3] [4] [5]
Tags:关键字:Java网络加载协议(JNLP)及Java Web Start
责任编辑:glen