熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java Web Start 入門(一)

2013-11-23 19:18:26  來源: Java核心技術 
    Java Web Start 是幫助客戶機端應用程序開發的一個新技術它的獨特之處在於將您從關心客戶機是如何啟動的(從 Web 浏覽器或是桌面)中解放出來另外該技術提供了一個使 Web 服務器能獨立的分發和更新客戶機代碼的集合部署方案
   
    Java Web Start 是一個軟件技術它包含了 applet 的可移植性Servlet 和 JavaServer Pages (JSP)的可維護性以及象 XML 和 HTML 這樣的標記語言的簡易性它是基於 Java 的應用程序允許從標准的 Web 服務器啟動部署和更新功能完全的 Java 客戶機應用程序在第一次啟動 Java Web Start 時用戶可以從 Web 下載新的客戶機應用程序之後這些應用程序可以通過 Web 頁面的鏈接或(Windows 中的)桌面圖標或開始菜單初始化應用程序在 Java Web Start 下快速初始化被高速緩存在客戶機並且可以遠程的離線啟動另外因為 Java Web Start 是從 Java 技術建立起來的所以它繼承了 Java 平台的完整的安全性體系結構
   
    由於 Java Web Start 自身是一個 Java 應用程序所以該軟件是平台獨立的並且支持 Java 平台的任何客戶機系統都支持該軟件當客戶機應用程序啟動時Java Web Start 自動執行更新在從原來的高速緩存(倘若存在高速緩存)裝入應用程序的同時從 Web 下載最新的代碼Java Web Start 還提供了一個 Java 應用程序管理器(Java Application Manager)實用程序既提供了多種選項如清除下載的應用程序的高速緩存指定多種 JRE 的使用設置 HTTP 代理還允許最終用戶組織他們的 Java 應用程序
   
    Java Web Start 站點
   
    JNLP規范 l
   
    一當用戶首次單擊一個鏈接來啟動一個客戶端的 Java 應用程序時發生下面的過程
   
    Web 浏覽器被指示運行 Java Web Start
   
    Java Web Start 以啟動閃屏開始
   
    然後 Java Web Start 與指定的 Web 服務器聯系並且確定是否為所要的 Java 應用程序下載了所有的文件
   
    把適當的文件下載到本地機
   
    Java Web Start 運行下載的應用程序
   
    二當選擇是否為與 Java Web Start 兼容而開發應用程序時明智的做法是對用戶體驗做全面考慮
   
    Java Web Start 必須安裝在每台從 Web 或從 Java 應用程序管理器啟動客戶機 Java 應用程序的機器上所以雖然客戶機 Java 應用程序可以從 Web 頁面啟動但如果最初沒有 Java Web Start 安裝在本地機上的話該應用程序本身是不能啟動的這樣 Web 浏覽器僅提供啟動程序的方便的鏈接 ― 不多不少
   
    Java Web Start 僅對正確打包的並且依照 Java Web Start 指導方針的應用程序有用另外需要 Web 服務器而且 Web 服務器必須正確的配置來解釋 所有的JNLP 和 MIME 標記所以除非下載的或是從 Web 啟動的所有的客戶機 Java 應用程序滿足了這些要求每個客戶機 Java 應用程序才能從 Java Web Start 被啟動和被管理的
   
    在用戶中也許有點關於 Java Web Start 和 Java 插件的應用程序與 applet 間的不同之處的困惑用戶可能理解或還不理解為什麼 Java Web Start 能管理和啟動許多的客戶機 Java 應用程序卻不能與以 Java 插件運行的 Java Applets 建立任何連接盡管事實是任一程序都可以從 Web 浏覽器啟動
   
    對於被要求去為僅僅一個客戶機應用程序而下載 Java Web Start 的用戶來說可能又認為對一個客戶機 Java 應用程序的執行來說Java Web Start 應用程序管理器的特性很累贅安裝過程麻煩太多
   
    Java Web Start 僅能用於為 Java 平台編寫的客戶機 Java 應用程序
   
    當前Java Web Start 可在 Windows //NT/Linux 和 Solaris 操作系統上執行
   


    三開發和部署 Java Web Start 的客戶端 Java 應用程序時需要依照的一些簡單的規則
   
    應用程序可以作為針對 Java 平台的獨立的應用程序正常的編寫
   
    如果您的應用程序需要訪問本地系統那麼 JAR 文件中的每個條目都必須被簽名
   
    應用程序的所有的文件必須保存在一個 JAR 文件集中該文件集包含如圖像和聲音文件等資源
   
    裝入資源(如圖像)的任何訪問都必須使用有類裝載器的 getResource 方法
   
    四Java Web Start 的核心JNLP
   
    為使 Java 應用程序能用 Java Web Start 執行您必須為應用程序創建一個 Java 網絡語言協議(Java Networking Language ProtocolJNLP)文件JNLP 是一個為應用程序提供基本的元素和描述的 XML 文件JNLP 文件的目的如下
   
    指定從 Web 服務器下載的 JAR 文件
   
    提供其它的可能的包需要
   
    指定系統屬性
   
    考慮到任何必要的運行時參數
   
    指定使用哪個版本的 Java 平台
   
    xml 代碼
   
    <!>xml version= encoding=UTF?>
   
        <jnlp spec=+ codebase= >
   
            <information>
   
                <title>This is my companys Java client applicationtitle>
   
                <vendor>Company name
   
    r>
   
                <icon />
   
                <homepage ref=reference/l>
   
                <offlineallowed/>
   
            information>
   
            <resources>
   
                <jse version=/>
   
                <jar part=music download=lazy/>
   
            resources>
   
            <resources os=Windows/>
   
                <nativelibnativelib=windowIconsForWindowOSjar part=windowIcons download=eager/>
   
                <applicationdesc mainclass=panyuiClient/>
   
            <security>
   
                <allpermissions/>
   
            security>
   
        jnlp>
   
    JNLP文件的描述
   
    A第一行您可以看到文件的編碼是 UTF 字符編碼所以當編輯 JNLP 文件時最終文件要用與 JDK 一起提供的 nativeascii工具轉換來確保文件的編碼正確
   
    Bjnlp codebase 屬性用於在 JNLP 文件中指定所有的相關 URL href 屬性設置(要求的)是為了讓應用程序並入 Java Web Start 應用程序管理器
   
    rmation 標記(如 titlevendor 等)用於提供來自 Java Web Start 應用程序管理器的關於應用程序的附加信息 homepage ref 屬性是專門用於指向 Web URL 從而用戶可以去提供了關於應用程序的更多的信息的 Web 頁面最有趣的 information 標記是 offlineallowed 屬性該屬性決定了客戶機 Java 應用程序是否能離線啟動當離線運行客戶機 Java 應用程序時Java Web Start 將繼續判定來自 Web 服務器的最新的文件在多數情況下這個方案將引起快速的超時(因為位置被指定要離線啟動)並且應用程序從本地高速緩存啟動
   
    Dresource 標記考慮到 JNLP 文件指定應用程序使用哪些 JAR 文件和如何下載 JAR 文件是急切的還是不緊不慢的這個特性在當用戶要下載大量的文件而對用戶來說不是所有的文件都是客戶機執行所需要的時是非常有幫助的缺省的多數資源是急切的下載的在這樣情況下JAR 文件和資源在應用程序啟動前被下載不緊不慢的下載的資源只有當 Java 虛擬機(JVM)觸發從應用程序載入資源或文件時才被下載不緊不慢的下載資源的一個示例是客戶機的幫助文件考慮到了客戶機的更快的啟動和執行只有在用戶實際上向客戶機請求幫助文件時才會下載這些文件然而一旦用戶請求了一個幫助文件在請求過程中適當的 JAR 就會被下載並伴有一個通知用戶大致的下載時間的窗口
   
    EJNLP 文件中最後一個有趣的標記是 security 屬性缺省的任何從 Java Web Start 客戶機啟動的 Java 應用程序在一個安全的受限制的環境執行該環境中不允許進行本地文件訪問與其它計算機的網絡連接等等然而對於要對客戶機和網絡可以完全訪問的特性豐富的客戶機來說 allpermissions 值是用於給予客戶機完全訪問的權限的為具有對本地機的完全訪問Java 應用程序所使用和裝入的所有 JAR 文件和資源必須被數字簽名


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26619.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.