Java Web Start 簡介

Oracle Java 教程總結了 Web Start ,如下所示:

Java Web Start 軟體只需單擊即可啟動全功能應用程式。使用者可以下載和啟動應用程式,例如完整的電子表格程式或 Internet 聊天客戶端,而無需經過漫長的安裝過程。

Java Web Start 的其他優點是支援簽名程式碼和平臺依賴的顯式宣告,並支援程式碼快取和應用程式更新的部署。

Java Web Start 也稱為 JavaWS 和 JAWS。主要資訊來源是:

先決條件

在較高的層次上,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。