Java Web Start 簡介
Oracle Java 教程總結了 Web Start ,如下所示:
Java Web Start 軟體只需單擊即可啟動全功能應用程式。使用者可以下載和啟動應用程式,例如完整的電子表格程式或 Internet 聊天客戶端,而無需經過漫長的安裝過程。
Java Web Start 的其他優點是支援簽名程式碼和平臺依賴的顯式宣告,並支援程式碼快取和應用程式更新的部署。
Java Web Start 也稱為 JavaWS 和 JAWS。主要資訊來源是:
- Java 教程 - 課程:Java Web Start
- Java Web Start 指南
- Java Web Start 常見問題解答
- JNLP 規範
javax.jnlp
API 文件- Java Web Start Developers Site
先決條件
在較高的層次上,Web Start 的工作原理是從遠端 Web 伺服器分發打包為 JAR 檔案的 Java 應用程式。先決條件是:
-
在要執行應用程式的目標計算機上預先存在的 Java 安裝(JRE 或 JDK)。需要 Java 1.2.2 或更高版本:
- 從 Java 5.0 開始,Web Start 支援包含在 JRE / JDK 中。
- 對於早期版本,Web Start 支援是單獨安裝的。
- Web Start 基礎結構包括一些可以包含在網頁中的 Javascript,以幫助使用者安裝必要的軟體。
-
託管軟體的 Web 伺服器必須可供目標計算機訪問。
-
如果使用者要使用網頁中的連結啟動 Web Start 應用程式,則:
- 他們需要一個相容的網路瀏覽器,和
- 對於現代(安全)瀏覽器,需要告訴他們如何告訴瀏覽器允許 Java 執行……而不會影響 Web 瀏覽器的安全性。
一個示例 JNLP 檔案
以下示例旨在說明 JNLP 的基本功能。
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="https://www.example.com/demo"
href="demo_webstart.jnlp">
<information>
<title>Demo</title>
<vendor>The Example.com Team</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="Demo.jar" main="true"/>
</resources>
<application-desc
name="Demo Application"
main-class="com.example.jwsdemo.Main"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
如你所見,基於 XML 的 JNLP 檔案,資訊全部包含在 <jnlp>
元素中。
spec
屬性給出了此檔案符合的 JNPL 規範的版本。codebase
屬性提供了用於解析檔案其餘部分中相對href
URL 的基本 URL。href
屬性為此 JNLP 檔案提供了確定的 URL。<information>
元素包含應用程式的後設資料,包括其標題,作者,描述和幫助網站。<resources>
元素描述了應用程式的依賴關係,包括所需的 Java 版本,OS 平臺和 JAR 檔案。<application-desc>
(或<applet-desc>
)元素提供啟動應用程式所需的資訊。
設定 Web 伺服器
必須將 Web 伺服器配置為使用 application/x-java-jnlp-file
作為 .jnlp
檔案的 MIME 型別。
必須在 Web 伺服器上安裝 JNLP 檔案和應用程式的 JAR 檔案,以便使用 JNLP 檔案指示的 URL 可以使用它們。
通過網頁啟用啟動
如果要通過 Web 連結啟動應用程式,則必須在 Web 伺服器上建立包含該連結的頁面。
-
如果你可以假設已在使用者的計算機上安裝了 Java Web Start,則該網頁只需包含用於啟動應用程式的連結。例如。
<a href="https://www.example.com/demo_webstart.jnlp">Launch the application</a>
-
否則,頁面還應包含一些指令碼,以檢測使用者正在使用的瀏覽器型別,並請求下載和安裝所需的 Java 版本。
注意: 鼓勵使用者鼓勵以這種方式安裝 Java,甚至在其 Web 瀏覽器中啟用 Java 以便 JNLP 網頁啟動可行,這是一個壞主意。
從命令列啟動 Web Start 應用程式
從命令列啟動 Web Start 應用程式的說明很簡單。假設使用者安裝了 Java 5.0 JRE 或 JDK,只需執行以下命令:
$ javaws <url>
其中 <url>
是遠端伺服器上 JNLP 檔案的 URL。