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

本文介绍了Java Network Launching Protocol (JNLP) 和Java Web Start,旨在解决客户端开发难题。JNLP允许从网络加载应用程序,提供自动更新、缓存等功能。Java Web Start是JNLP的实现,简化了JFC Swing应用的部署。通过示例展示了如何创建和发布一个简单的JNLP应用程序,并解释了JNLP文件的结构和功能。
摘要由CSDN通过智能技术生成

Java网络加载协议(JNLP)及Java Web Start
翻译: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.setBoun

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值