前言:
關於 JWS
JWS 是作為 JSR-56 的一部分而創建的,目的是提供一種方法來分發在客戶端上的 JVM 中運行的 Java 應用程序。JWS 包括以下特征:
部署
運行 JWS 應用程序包括選擇 Html 鏈接,與打開新的頁面沒有什麼區別,惟一的不同之處在於 Web 服務器頁面是 .jnlp 文件,該文件啟動 JWS 插件來在客戶端上本地下載和執行應用程序。
緩存
一旦應用程序下載完畢,就可以把它緩存在客戶端電腦上。每當應用程序重新啟動時,JWS 就檢查服務器,查看是否有更新的版本要下載。假如沒有,就運行本地的版本,從而避免再次下載。假如存在一個新的版本,就自動檢索新的版本,因此治理員從來就不必擔心舊的客戶端連接到已更新的服務器程序 API 上。
獨立於浏覽器 JRE
JWS 答應您精確地指定您想在什麼客戶端 JRE 級別中運行它(獨立於浏覽器是如何配置的)。這一特征避免了 Applet 標記和浏覽器 JRE 級別的問題(比如用 Microsoft Internet EXPlorer)。與 Applet 標記共享單一的用於浏覽器的 JVM 實例不同,每個 JWS 應用程序都有自己獨立的 JVM,並通過它自己的 main(String[] args) 方法啟動。
安全性驗證
Java 安全性模型用於驗證 JWS 應用程序的來源並限制對易受攻擊的系統服務(比如 I/O 和通信)的訪問。 必須通過認證已簽署的 JAR 文件來授予每個 JWS 程序顯式訪問這些服務的權限。
桌面集成
一旦 JWS 應用程序從 .jnlp 文件下載完畢,就可以把它集成在桌面上作為獨立的圖標。這樣該應用程序就可以重新啟動而不用通過 Web 浏覽器。
假如您有 JRE 1.4.1 或更新的版本,那麼您已經安裝了 Java Web Start 。假如您沒有 JRE 1.4.1 或更新的版本,可以從 Sun 下載頁面下載並安裝 JRE。
與介紹 GUI 編程的新方法的文章的傳統一樣,第一步是創建 Web 啟動應用程序,它顯示帶有“Hello World”的對話框:這分兩步進行:首先創建類並將其部署在 Web 服務器中,接著客戶端個人計算機訪問該 URL,這樣就可以通過 JWS 下載和調用它。
Sun 提供了一個實現JNLP的稱為Java Web Start(JWS)的參考實現。讓我們使用它開發一個使用JFC Swing的簡單應用。為了做這個,你需要從http://java.sun.com/prodUCts/javawebstart下載JWS。(譯者注:JDK的新版本JDK1.4已經內置JWS,無須另外下載。)
操作步驟:
一.一般的應用發布
1)創建要發布的應用程序;
創建例子文件HelloJNLP.java 文件
//------------------------------------------------------
/*
* Created on 2004-11-10
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Jackey
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
//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);