1. java web start是干什麼的
JavaTM Web Start 是基於 Java 技術的應用程序的一種部署解決方案。它是連接計算機和 Internet 的便捷通道,允許用戶在完全脫離 Web 的情況下運行和管理應用程序。Java Web Start 提供一次單擊激活應用程序的簡易方法,並保證始終運行應用程序的最新版本,從而可避免復雜的安裝或升級過程。
傳統情況下,通過 Web 發布軟體需要用戶在 Web 上查找、下載,而後在系統中存放並執行安裝程序。執行安裝程序後,將提示指定安裝路徑和安裝選項,例如完全、典型或最小安裝。這是一項耗時而又復雜的任務,並且在安裝軟體的每個新版本時都必須重復進行。
相反,通過 Web 部署的應用程序,例如您喜愛的基於 HTML 的電子郵件客戶軟體和日歷、拍賣站點等等,都非常容易安裝和使用。Web 瀏覽器使整個過程自動完成。沒有復雜的下載、安裝和配置過程,並且確保您始終使用最新版本。
更多介紹請參考:
http://www.aspgood.com/Article/Program/Java/200510/Article_772.html
2. 什麼是 Java Web Start 軟體以及如何啟動它
什麼是 Java Web Start 軟體? Java Web Start 軟體使您可以從 Web 下載和運行 Java 應用程序。Java Web Start 軟體: 提供一種單擊一次即可激活應用程序的便捷方法保證您始終運行最新版本的應用程序避免了復雜的安裝或升級過程 獲得Java Web Start 軟體 從Java 5.0 發布版本開始,Java Runtime Environment (JRE) 中就包含 Java Web Start。這意味著安裝 Java 時,將自動安裝 Java Web Start。第一次下載採用 Java Web Start 技術的 Java 應用程序時,Java Web Start 軟體會自動啟動。Java Web Start 軟體將整個應用程序高速緩存(存儲)到本地計算機上。這樣,所有必需的資源都已保存在本地,因此以後再次啟動時幾乎可以瞬間完成。每次啟動應用程序時,Java Web Start 軟體組件都會檢查應用程序的 Web 站點以確定是否有新的版本;如果有,則立即下載並啟動新版本。 使用Java Web Start 軟體啟動應用程序通過瀏覽器:從Web 頁面上單擊對應的鏈接。通過桌面圖標:如果您經常使用某一應用程序,則可以在桌面上或「開始」菜單中創建該應用程序的快捷方式。Java Web Start 軟體會詢問您是否想在「開始」菜單中創建快捷方式或條目。如果您回答「是」,則將來無需使用瀏覽器便可啟動該應用程序。通過Java Application Cache Viewer:Java Web Start 軟體還提供了 Application Cache Viewer,您可以從 Java 控制面板上啟動它。Cache Viewer 允許您直接啟動已下載的應用程序。 通過Application Cache Viewer 啟動應用程序的說明轉至「開始 > 設置 > 控制面板」,然後雙擊 Java 圖標。此時將啟動「Java 控制面板」。 單擊「常規」選項卡。 單擊「Internet 臨時文件」區域內的「設置」按鈕。 單擊「查看應用程序」按鈕。 從列表中雙擊您要啟動的相應應用程序。通過命令提示符:您還可以通過在命令提示符下鍵入 javaws jnlp_url 來啟動應用程序,其中 jnlp_url 是應用程序的 jnlp 文件的 URL 地址。 轉至「開始 > 運行」,然後鍵入 command。 此時將顯示命令提示符窗口。鍵入javaws url_of_jnlp 更多技術信息 有關更多技術信息,請參見: Java Web Start 軟體開發者文檔
3. 什麼是 Java Web Start 軟體以及如何啟動它
Java Web Start 軟體使您可以從 Web 下載和運行 Java 應用程序。
Java Web Start 軟體:
提供一種單擊一次即可激活應用程序的便捷方法
保證您始終運行最新版本的應用程序
避免了復雜的安裝或升級過程
獲得 Java Web Start 軟體
從 Java 5.0 發布版本開始,Java 運行時環境 (JRE) 中就包含 Java Web Start。這意味著安裝 Java 時,將自動安裝 Java Web Start。第一次下載採用 Java Web Start 技術的 Java 應用程序時,Java Web Start 軟體會自動啟動。Java Web Start 軟體將整個應用程序高速緩存(存儲)到本地計算機上。這樣,所有必需的資源都已保存在本地,因此以後再次啟動時幾乎可以瞬間完成。每次啟動應用程序時,Java Web Start 軟體組件都會檢查應用程序的 Web 站點以確定是否有新的版本;如果有,則立即下載並啟動新版本。
使用 Java Web Start 軟體啟動應用程序
通過瀏覽器
單擊 Web 頁中的鏈接。
通過桌面圖標
如果您經常使用某一應用程序,則可以在桌面上或「開始」菜單中創建該應用程序的快捷方式。Java Web Start 會詢問您是否想在「開始」菜單中創建快捷方式或條目。如果您回答「是」,則將來無需使用瀏覽器便可啟動該應用程序。
通過 Java Application Cache Viewer
Java Web Start 還提供了 Application Cache Viewer,可以從 Java 控制面板啟動它。Cache Viewer 允許您直接啟動已下載的應用程序。
通過 Application Cache Viewer 啟動應用程序的說明
轉至開始>設置>控制面板,然後雙擊Java圖標。此時將啟動 Java 控制面板。
單擊常規選項卡
單擊臨時 Internet 文件區域內的查看按鈕
從列表中雙擊您要啟動的相應應用程序。
通過命令提示符
您還可以通過在命令提示符下鍵入javawsjnlp_url來啟動應用程序,其中jnlp_url是應用程序的 jnlp 文件的 URL。
轉到開始>運行>鍵入命令此時將出現命令提示符窗口。
鍵入javawsurl_of_jnlp
4. Java Web Start程序可以刪除嗎
JAVA WEB START是為了支持WEB應用的,
不知道你聽說過JSP沒有,它是一種動態網頁設計技術,所謂的動態網頁,可以簡單的理解為就是在網頁上增加了動畫,實現了頁面和後的交互等.
JSP是JAVA中的一種技術,JSP網頁現在很流行,就像ASP網頁一樣,JAVA還有很多應用在網頁中,比如一些特效,還有APPLET等,而要通過瀏覽器看到JSP網頁的動態效果,或是特效就需要在機器上安裝JAVA WEB START否則很多東西你是看不到的,現在JAVA技術十分的流行,JAVA在WEB方面的應用也十分的廣泛,所以建議你不要刪除它.
5. Java Web Start是什麼有什麼用
Java Web Start 當初是為了更好提供java應用程式的體驗,讓applet程式不再需要網頁也可以運行
不過現在java推行的是javafx
6. 請問大家什麼是java web start 有什麼用呢
在Microsoft Windows 平台上,Java Web Start 在Java 2 SDK 及JRE安裝時被悄悄地安裝。你可以在桌面上找到Java Web Start圖標。同樣,在開始-程序菜單裡面也有Java Web Start項。
在Solaris 和Linux 平台上,Java Web Start的安裝腳本包含在Java 2 SDK (或者JRE頂層目錄)的jre目錄下的一個zip文件裡面.你可以將那個zip移動到你喜歡的地方去安裝Java Web Start。我們推薦Java 2 SDK 和 JRE 目錄結構外安裝。解壓那個,然後運行install.sh 腳本安裝Java Web Start 。
縱覽Java Web Start是一個新的應用程序調度技術,它可以讓你從WEB瀏覽器單擊啟動應用程序。你可以立刻下載並啟動應用程序,例如一個完全的電子表格程序或者Internet聊天客戶端,而不用經過復雜的安裝過程。
Java Web Start 包含JavaTM 2 平台的安全特性,因此不會危機到你的數據和文件的完整性。另外 Java Web Start技術可以使你使用最新的Java 2技術-- 使用任何瀏覽器。
使用Java Web Start,你可以單擊一個網頁鏈接啟動應用程序。如果該應用程序現在不在你的計算機上,Java Web Start 自動下載所有必要的文件。然後它把文件存儲在你的計算機上,因此任何時候你想重新啟動那個程序的時候它都是准備好的-- 無論是從你你的桌面上的圖標還是瀏覽器的鏈接。而且無論你使用何種方法啟動程序,該程序的最新版本都為你准備好了。
7. 為什麼我的電腦不能運行java web start
Java Web Start 是幫助客戶機端應用程序開發的一個新技術,它的獨特之處在於將您從關心客戶機是如何啟動的(從 Web 瀏覽器或是桌面)中解放出來。另外,該技術提供了一個使 Web 伺服器能獨立的分發和更新客戶機代碼的集合部署方案。軟體工程師 Steve Kim 介紹了該新技術(該技術預定將集成進Java 1.4 的最終發行版),並從開發者和用戶的角度進行了描述。您可以在 討論論壇與作者和其他讀者分享您對這篇文章的看法。
在現今的不斷發展的軟體業市場,用戶強烈要求客戶機應用程序不但能運行在台式機環境,還能運行在網際網路。用戶希望他們從基於 Web 的應用程序獲得與從台式機獲得的相同的功能和支持,而且最好是用瘦客戶機介面打包。目前,最通用的解決方案是開發兩個獨立的 Java 應用程序:一個作為台式機應用程序執行,另一個模仿台式機應用程序的多數功能,但是通過 Web 訪問。這對開發者是個負擔,開發者要寫兩個獨立的在不同的執行環境執行相同的功能的應用程序,然而對軟體公司也是個財政負擔,軟體公司被迫為兩個獨立的應用程序提供支持。為緩解該問題,Sun Microsystems 引進了 Java Web Start,它是個使 Java 應用程序可以從台式機或 Web 頁面啟動的客戶機端技術。這消除了為 Web 應用程序開發 Java 支持的需要,而且還提供了一個有效方式來升級、維護和管理任何通用的 Web 伺服器都支持的客戶端的 Java 應用程序。
什麼是 Java Web Start?
Java Web Start 是一個軟體技術,它包含了 applet 的可移植性、Servlet 和 JavaServer Pages (JSP)的可維護性以及象 XML 和 HTML 這樣的標記語言的簡易性。它是基於 Java 的應用程序,允許從標準的 Web 伺服器啟動、部署和更新功能完全的 Java 2 客戶機應用程序。在第一次啟動 Java Web Start 時,用戶可以從 Web 下載新的客戶機應用程序;之後這些應用程序可以通過 Web 頁面的鏈接或(Windows 中的)桌面圖標或「開始」菜單初始化。應用程序在 Java Web Start 下快速初始化,被高速緩存在客戶機,並且可以遠程的離線啟動。另外,因為 Java Web Start 是從 Java 2 技術建立起來的,所以它繼承了 Java 平台的完整的安全性體系結構。
由於 Java Web Start 自身是一個 Java 應用程序,所以該軟體是平台獨立的,並且支持 Java 2 平台的任何客戶機系統都支持該軟體。當客戶機應用程序啟動時,Java Web Start 自動執行更新,在從原來的高速緩存(倘若存在高速緩存)裝入應用程序的同時,從 Web 下載最新的代碼。Java Web Start 還提供了一個 Java 應用程序管理器(Java Application Manager)實用程序,既提供了多種選項,如清除下載的應用程序的高速緩存、指定多種 JRE 的使用、設置 HTTP 代理,還允許最終用戶組織他們的 Java 應用程序。
回頁首
Java Web Start 對 Java 插件
Java Web Start 和 Java 插件的一個共同作用是:允許 Java 程序從任何地方、在任何平台安全運行。兩種 Java 技術都提供了可以啟動和執行 Java 程序的「沙箱(sandbox)」安全環境,還具有高速緩存應用程序和指定使用的 JRE 的能力。Java Web Start 和 Java 插件的根本不同是 Java 插件限於在 Web 瀏覽器環境中運行的 Java applet。Java 插件嚴重的依賴於 Web 瀏覽器的 JRE,並且如果沒有瀏覽器就不能運行。另一方面,Java Web Start 可以在 Web 頁面單擊鏈接或是單擊 Java 應用程序管理器來啟動 Java 應用程序。在 Windows 操作系統中,用戶可以從開始菜單或是只要雙擊桌面圖標來啟動應用程序。如果瀏覽器窗口被關閉,從 Web 瀏覽器啟動的客戶機應用程序不會受到影響。
盡管 Java Web Start 確實支持 Java applet,而且確實包含內置的 Appletviewer,但這個技術的最初目的是啟動和部署 Java 客戶機應用程序。某些約束,如 applet 的策略文件不受支持。
回頁首
用戶觀點的 Java Web Start
Java Web Start 不僅允許開發者開發可從 Web 頁面啟動和執行的應用程序(不只是 applet),還強調了無需任何用戶交互就可以為現存的客戶機代碼提供透明更新的部署方案。為幫助您理解這個過程、幫助您決定是否為與 Java Web Start 的兼容性而開發自己的應用程序,我們將從用戶的觀點來看這個產品。我將從兩個基本的用戶場景(安裝 Java Web Start 和從使用 Java Web Start 的 Web 下載和啟動應用程序)的基本解釋開始。
首次安裝 Java Web Start
Java 插件無需用戶在客戶機安裝任何的應用程序,與 Java 插件不同,Java Web Start 必須要安裝在每台用於從 Web 來啟動 Java 應用程序的客戶機。當用戶試圖用 Java Web Start 啟動一個基於 Web 的應用程序時,Web 瀏覽器將啟動 Java Web Start 從而開始下載適當的文件。
如果 Java Web Start 安裝在本地機的話,那麼需要的應用程序將正常的啟動和進行。另一方面,如果 Java Web Start 還沒安裝,用戶將被提示要下載該程序。一旦用戶同意下載 Java Web Start 並且已經下載了該文件,用戶就必須運行程序來安裝 Java Web Start,如圖 1 所示。
圖 1. 安裝 Java Web Start
在安裝過程中,Java Web Start 安裝程序將判斷在客戶機上是否安裝了 Java 2 環境。如果未安裝,將出現一個安裝對話框,如圖 2 所示。
圖 2. Java Web Start 搜索 Java 2 環境
一旦裝好了 Java Web Start,就必須關閉所有的打開的 Web 瀏覽器。新的 MIME 標記(帶有 jnlp 擴展名)是為 Web 瀏覽器定義的,用於 Web 瀏覽器啟動自身(Web 伺服器)和 Java Web Start 之間的聯系。(JNLP 是 Java Network Launching Protocol 的首字母縮略字。JNLP 文件確定哪些 JAR 文件和資源有助於客戶端的 Java 應用程序。)一旦 Web 瀏覽器被關閉並重新啟動,用戶可以再次單擊相同的鏈接來啟動所要的應用程序。Web 瀏覽器然後將與 Java Web Start 聯系,並且應用程序將開始啟動過程。
「Developer's Guide for Java Web Start」 (請參閱 參考資料)包含能夠查出本地是否安裝了 Java Web Start 的 JavaScript 和 Visual Basic 腳本。
用 Java Web Start 啟動應用程序
當用戶首次單擊一個鏈接來啟動一個客戶端的 Java 應用程序時,發生下面的過程:
Web 瀏覽器被指示運行 Java Web Start。
Java Web Start 以啟動閃屏開始
然後 Java Web Start 與指定的 Web 伺服器聯系,並且確定是否為所要的 Java 應用程序下載了所有的文件。
把適當的文件下載到本地機。
Java Web Start 運行下載的應用程序。
在整個安裝和啟動過程中,Java Web Start 與 Java Web Start 應用程序管理器一起提供了一個外觀和感覺一致的界面,同時還向用戶提供了反饋。圖 3 表示了當 Java Web Start 首次試圖啟動一個客戶機 Java 應用程序時出現的窗口。
圖 3. Java Web Start 下載客戶機 JAR 文件
Java Web Start 把一個應用程序下載到了本地機之後,客戶機程序就被執行了。將來,當程序再次從 Java Web Start 啟動時,Java Web Start 將試圖判定客戶機是否有應用程序的最新版本。在此過程中,用戶將可以看到一個與圖 4 所示的相似的窗口。
圖 4. Java Web Start 檢查應用程序的版本
從用戶的觀點來看,該窗口提供了該 Java 應用程序是在啟動過程還是在更新過程的可視化反饋。另外,進度條和文本反饋不僅通知用戶每個過程所需的時間,還讓用戶可以了解更新或啟動什麼時候將完成。這也許是該產品的最有用的特性之一,它可以確保在應用程序的啟動過程的每一步都通知了用戶正在發生什麼。
回頁首
圖形用戶界面(GUI)
應用程序管理器的 GUI (圖形用戶界面)提供了一個簡單的卻合理的界面,該界面允許用戶在啟動應用程序時可以指定多種的選項。每次啟動應用程序管理器時,出現一個閃屏,如圖 5 所示。
圖 5. 應用程序管理器閃屏
一旦閃屏消失,應用程序管理器的主窗口就顯示出來,如圖 6 所示。
圖 6. 應用程序管理器的主窗口
在 Applications 框中,可以看到和啟動所有的從 Java Web Start 啟動的應用程序。在下面的框中,提供了關於選中的 Java 應用程序的附加信息(在圖 6 中,即為 Draw 4),如供應商、可以獲得關於該應用程序的更多信息的主頁以及程序的描述。這條信息是直接從該應用程序的 JNLP 文件(稍後有更多關於 JNLP 的介紹)派生的。
在 File Preferences,有讓用戶調整和校準的多種設置。盡管大多數設置已經由 Java Web Start 自動配置了,但仍然允許用戶覆蓋不同的設置,如代理設置,如下面的圖 7 所示。
圖 7. 應用程序管理器的 Preferences 選項卡
用戶還可以指定當啟動應用程序時使用 JRE 的什麼版本,如圖 8 所示。
圖 8. 指定 JRE
本質上,應用程序管理器的目的在於為管理所有的遵照 Java Web Start 指導方針和策略的應用程序提供了一個統一的實用程序。另外,應用程序管理器允許有經驗的用戶配置一些應用程序設置。這樣免除了一些開發者將在其它方面需要做的工作,比如寫腳本或批處理文件來啟動或配置應用程序。要注意應用程序管理器僅對為 Java 2 平台編寫的而且與 Java Web Start 兼容的應用程序有用,注意到這一點是很重要的。實用程序不能查出駐留在本地機的其它 Java 應用程序。
要考慮的問題
當選擇是否為與 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 2 平台編寫的客戶機 Java 應用程序。
當前,Java Web Start 可在 Windows 95/98/NT/2000、Linux 和 Solaris 操作系統上執行。
回頁首
為 Java Web Start 做開發
從開發的觀點,您應該能象為常規的客戶端應用程序一樣能為與 Java Web Start 的兼容性編寫和設計代碼。您應該相對的不用擔心更新現存的客戶機代碼所需的打包問題和變通技術。下面是您在開發和部署 Java Web Start 的客戶端 Java 應用程序時需要依照的一些簡單的規則:
應用程序可以作為針對 Java 2 平台的獨立的應用程序正常的編寫。
如果您的應用程序需要訪問本地系統,那麼 JAR 文件中的每個條目都必須被簽名。
應用程序的所有的文件必須保存在一個 JAR 文件集中,該文件集包含如圖像和聲音文件等資源。
裝入資源(如圖像)的任何訪問都必須使用有類裝載器的 getResource 方法。請參閱下面的使用 getResource 方法示例的清單 1。
清單 1. 使用 ClassLoader 對象從 JAR 文件裝入資源
//Obtain the current classloader
ClassLoader classLoader = this.getClass().getClassLoader();
//Load the company logo image
Image companyLogo = classLoader.getResource("images/companyLogo.gif");
更新應用程序代碼
從 Web 伺服器首次下載一個應用程序時,應用程序的所有的相關的 JAR 文件被下載到了本地機。Java Web Start 將自動決定該把這些文件下載到何處,這是因為預設的安全性協議(如本地磁碟存取)在起作用。下面將進一步討論安全性。
從應用程序開發和維護的觀點來看,Java Web Start 使更新應用程序代碼很容易。因為下載的應用程序的所有文件必須包含在客戶機的 JAR 文件集中,您只需更新存儲在 Web 伺服器的 JAR 文件集。Java Web Start 將根據下面將討論的版本編號方案來決定當應用程序最初被啟動時需要下載和更新客戶機的哪些文件和資源。每次用戶啟動一個應用程序時,Java Web Start 將與包含 JAR 文件集的 Web 伺服器連接,並將下載適當的文件。注意客戶機可以下載的資源僅為 JAR 文件、圖像和 JNLP 文件。
Java Web Start 使用 HTTP 請求來從 Web 伺服器獲得資源文件,並且允許客戶機端 Java 應用程序從代理伺服器或防火牆後執行。最初,Java Web Start 將既使用通用的代理自動配置腳本也試著檢測本地機的預設 Web 瀏覽器中定義的代理設置。如果需要附加信息,可用應用程序管理器使用 Preferences 部分來指定埠和代理。
回頁首
Java Web Start 的核心:JNLP
為使 Java 應用程序能用 Java Web Start 執行,您必須為應用程序創建一個 Java 網路語言協議(Java Networking Language Protocol,JNLP)文件。JNLP 是一個為應用程序提供基本的元素和描述的 XML 文件。JNLP 符合規范號為 JSR 000056(請參閱 參考資料)的 Java Community Process (JCP)。
JNLP 文件的目的如下:
指定從 Web 伺服器下載的 JAR 文件
提供其它的可能的包需要
指定系統屬性
考慮到任何必要的運行時參數
指定使用哪個版本的 Java 2 平台
JNLP 文件的一個示例
JNLP 文件以一種與 Web 瀏覽器相似的方式(僅用 URL 而不是特定的文件名)來獲得並定位文件。清單 2 表示了 JNLP 文件的一個示例。
清單 2. JNLP 文件的一個示例:clientApp.jnlp
<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase=http://www.companySite.com/javaApp>
<href="clientApp.jnlp">
<information>
<title>This is my company's Java client application</title>
<vendor>Company name</vendor>
<icon href="companyLogo.gif"/>
<homepage ref="reference/tips.html">
<offline-allowed/>
</information>
<resources>
<j2se version=1.3/>
<jar href="companySong.jar" part="music" download="lazy"/>
</resources>
<resources os="Windows"/>
<nativelib="windowIconsForWindowOS.jar" part="windowIcons"
download="eager"/>
<application-desc main-class="com.company.ui.Client"/>
<security>
<all-permissions/>
</security>
</jnlp>
清單 2 的注釋
接下來對 JNLP 文件的示例的評述也許在您創建自己的文件時對您有所幫助:
第一行,您可以看到文件的編碼是 UTF-8 字元編碼。所以,當編輯 JNLP 文件時,最終文件要用與 JDK 一起提供的 native2ascii工具轉換來確保文件的編碼正確。
jnlp codebase 屬性用於在 JNLP 文件中指定所有的相關 URL。 href 屬性設置(要求的)是為了讓應用程序並入 Java Web Start 應用程序管理器。
information 標記(如 title、vendor 等)用於提供來自 Java Web Start 應用程序管理器的關於應用程序的附加信息。 homepage ref 屬性是專門用於指向 Web URL 從而用戶可以去提供了關於應用程序的更多的信息的 Web 頁面。最有趣的 information 標記是 offline-allowed 屬性;該屬性決定了客戶機 Java 應用程序是否能離線啟動。當離線運行客戶機 Java 應用程序時,Java Web Start 將繼續判定來自 Web 伺服器的最新的文件;在多數情況下,這個方案將引起快速的超時(因為位置被指定要離線啟動),並且應用程序從本地高速緩存啟動。
resource 標記考慮到 JNLP 文件指定應用程序使用哪些 JAR 文件和如何下載 JAR 文件;即,是急切的還是不緊不慢的。這個特性在當用戶要下載大量的文件而對用戶來說不是所有的文件都是客戶機執行所需要的時是非常有幫助的。預設的,多數資源是急切的下載的,在這樣情況下,JAR 文件和資源在應用程序啟動前被下載。不緊不慢的下載的資源只有當 Java 虛擬機(JVM)觸發從應用程序載入資源或文件時才被下載。不緊不慢的下載資源的一個示例是客戶機的幫助文件;考慮到了客戶機的更快的啟動和執行,只有在用戶實際上向客戶機請求幫助文件時,才會下載這些文件。然而,一旦用戶請求了一個幫助文件,在請求過程中適當的 JAR 就會被下載,並伴有一個通知用戶大致的下載時間的窗口。
JNLP 文件中最後一個有趣的標記是 security 屬性。預設的,任何從 Java Web Start 客戶機啟動的 Java 應用程序在一個安全的、受限制的環境執行,該環境中不允許進行本地文件訪問、與其它計算機的網路連接等等。然而,對於要對客戶機和網路可以完全訪問的特性豐富的客戶機來說, all-permissions 值是用於給予客戶機完全訪問的許可權的。為具有對本地機的完全訪問,Java 應用程序所使用和裝入的所有 JAR 文件和資源必須被數字簽名。安全性將在下面將進一步討論。
回頁首
JNLP 和 WAR 文件
為與應用程序相關的 JNLP 文件和 JAR 文件提供更加方便有效的打包方案,Java Web Start 使 Web 壓縮文件(WAR)的分發成為可能。WAR 文件是一個目錄結構,它包含了一個與 JNLP 文件和 JAR 文件一起打包的 servlet,從而使整個包能夠方便的在 Web 伺服器上部署。該 servlet 自身被打包在 jnlp-servlet.jar 文件里,包里還有 JnlpDownloadServlet 類作為主要的執行 Java 類,這個類將負責不同的任務,如:
生成 JARDiff 文件
根據 WAR 文件中的每個文件或每個目錄進行版本編號
支持 JNLP 文件中定義的下載協議
自動安裝 URL 到 JNLP 文件,從而免除對開發者要進行硬編碼 URL 的要求。
為了從 Java Web Start 啟動應用程序,把應用程序和 WAR 文件打包在一起並非必需。然而,WAR 文件的加入可以改善存儲在 Web 伺服器的文件的管理和升級。WAR 文件的主題對於本文的范圍來講實在是太冗長了。請參閱 參考資料來獲得與附加信息的聯系。
回頁首
Java Web Start 中的版本變化
到目前為止,我們已經討論了想要實施 Java Web Start 的開發者和用戶所需的整體的部署和管理技術。在我們深入前,我要概括一下到目前為止我所講到的部署的步驟。
應用程序所用的文件存儲在 JAR 文件。
必須創建一個 JNLP 來通知 Java Web Start 應用程序使用哪些 JAR 文件、如何下載必要的文件等。
一個標準的 Web 伺服器被配置來接受被 Java Web Start 理解的 MIME 類型。
JAR 文件放在了 Web 伺服器上。
用戶需要下載和安裝 Java Web Start(僅一次)。
用戶首次運行應用程序;JAR 文件被下載並執行。
用戶可以再次運行應用程序,從 Java Web Start 應用程序管理器或 Web 頁面啟動。Java Web Start 將下載需要更新的全部文件,並且然後將啟動應用程序。
從技術角度來說,這個總結可能會引發問題:Java Web Startf 是如何決定哪些文件是有必要更新的呢?答案很簡單:JNLP 文件。一個有版本標識的唯一的 URL與每個 JNLP 文件中定義的資源相關聯。如清單 3 所示。
清單 3.JNLP文件中的一個基於版本的 JAR 文件的示例
<jar href=http://www.companySite.com/javaApp/imageFiles.jar
version="1.1+">
當啟動了一個應用程序時,Java Web Start 檢查 JNLP 文件並創建一個有 URL 和版本標識的 HTTP GET 請求。如果沒有 version 屬性,那麼 Java Web Start 就只是創建一個 JAR 文件的 HTTP GET 請求。Java Web Start 檢查 Web 伺服器的響應狀態代碼和 MIME 類型來決定此 JAR 文件是否有更新的版本。
JNLP 文件還允許使用 JARDiff 實用程序來遞增的更新 JAR 文件。 JARDiff 實用程序能只下載 JAR 文件中的特定文件(不是整個 JAR 文件本身),這樣使下載更快。請參閱 參考資料來獲得關於決定 JNLP 文件配置的更多信息。
回頁首
安全性
也許在決定是否為了與 Java Web Start 兼容而開發應用程序時,需要考慮的最重要的問題就是安全性。Java Web Start 允許客戶端 Java 應用程序訪問各種本地機資源,如文件訪問、剪貼板訪問等。源自 Java 2 平台,該產品繼承了該平台的安全性體系結構。如前面提到的,在 JNLP 文件中定義的 security 屬性決定了當應用程序通過 Java Web Start 啟動時所能有的安全性級別。預設的,使用受限環境,為應用程序授權對網路和本地機的有限的訪問。如同使用 applet 沙箱(sandbox),這樣可以保證惡意的應用程序不能造成任何破壞。
Java Web Start 的安全性的另一重要元素是數字簽名的使用。當啟動或更新一個應用程序時,它的 JAR 文件被下載到客戶機。Java Web Start 用那些文件中的數字編碼來判定在對文件初始簽名之後,是否有 JAR 文件已經被修改或改變。如果有不一致的或是文件尚未被簽名,應用程序就不能從 Java Web Start 啟動。正確簽名的應用程序可以訪問本地機。
用戶授權安全性
當運行要對本地機無限制訪問的應用程序時,用戶最初將看到一個對話框,該對話框說明了應用程序的出處或供應商,並且允許用戶給應用程序授予額外的許可權。此外,當應用程序要求使用本地機的資源並且還沒有被簽名的 JAR 文件時,Java Web Start 將允許用戶通過一個 Security Advisory 對話框顯式的授予應用程序訪問許可權。例如,如果客戶機 Java 應用程序需要能把信息粘貼到 Windows 操作系統剪貼板工具,將出現一個與圖 9 相似的對話框。
圖 9. 應用程序試圖訪問剪貼板的 Security Advisory 對話框
當應用程序試圖訪問客戶機的本地資源(如文件系統)時,將出現另外的對話框窗口,如圖 10 所示。
圖 10. 應用程序試圖訪問文件系統時的 Security Advisory 對話框
用戶可以在以下方面授予應用程序對本地機的訪問許可權:
在本地機存儲應用程序的當前狀態
查看本地文件的內容
保存文件到本地機
本地機打開文件
在本地機對隨機存取文件讀/寫
從本地機列印
JNLP API 庫中的很多的類允許開發者在不可靠的環境使用系統的資源,由用戶來負責決定操作是否是允許的。
8. Java Web Start使用方法
JavaTM Web Start 1.01版和Java 2 SDK 及Java 2運行時環境(JRE)綁定。
在Microsoft Windows 平台上,Java Web Start 在Java 2 SDK 及JRE安裝時被悄悄地安裝。你可以在桌面上找到Java Web Start圖標。同樣,在開始->程序菜單裡面也有Java Web Start項。
在Solaris 和Linux 平台上,Java Web Start的安裝腳本包含在Java 2 SDK (或者JRE頂層目錄)的jre目錄下的一個zip文件裡面.你可以將那個zip移動到你喜歡的地方去安裝Java Web Start。我們推薦Java 2 SDK 和 JRE 目錄結構外安裝。解壓那個,然後運行install.sh 腳本安裝Java Web Start 。
Java Web Start是一個新的應用程序調度技術,它可以讓你從WEB瀏覽器單擊啟動應用程序。你可以立刻下載並啟動應用程序,例如一個完全的電子表格程序或者Internet聊天客戶端,而不用經過復雜的安裝過程。
Java Web Start 包含JavaTM 2 平台的安全特性,因此不會危機到你的數據和文件的完整性。另外 Java Web Start技術可以使你使用最新的Java 2技術-- 使用任何瀏覽器。
使用Java Web Start,你可以單擊一個網頁鏈接啟動應用程序。如果該應用程序現在不在你的計算機上,Java Web Start 自動下載所有必要的文件。然後它把文件存儲在你的計算機上,因此任何時候你想重新啟動那個程序的時候它都是准備好的-- 無論是從你你的桌面上的圖標還是瀏覽器的鏈接。而且無論你使用何種方法啟動程序,該程序的最新版本都為你准備好了。
下面的文檔是Java Web Start在線文檔。
README http://java.sun.com/procts/javawebstart/docs/readme.html
結構 http://java.sun.com/procts/javawebstart/architecture.html
開發指南 http://java.sun.com/procts/javawebstart/docs/developersguide.html
FAQ http://java.sun.com/procts/javawebstart/faq.html
9. java WEB start 錯誤
網路問題
,看看網線啊,路由,埠,ip之類的
10. java web start如何使用
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/procts/javawebstart下載JWS。(譯者註:JDK的新版本JDK1.4已經內置JWS,無須另外下載。)