Java Web Start(Jnlp)チュートリアル

Java Web Start(Jnlp)チュートリアル

ここでは、SUNからのJava Web Startについて簡単に説明します。

「Java Web Startは、標準のWebサーバーを介したプログラム配信のメカニズムです。 通常、ブラウザを介して開始されるこれらのプログラムは、クライアントに展開され、ブラウザの範囲外で実行されます。 一度展開すれば、プログラムを再度ダウンロードする必要はなく、ユーザーはインストールプロセス全体を再度実行する必要なく、起動時に自動的に更新をダウンロードできます。」

このチュートリアルは、ユーザーがダウンロードするJava Web Start(Jnlp)ファイルを作成する方法を示しています。ユーザーがダウンロードしたjnlpファイルをクリックすると、単純なAWTプログラムが起動します。 手順の概要は次のとおりです。

  1. 単純なAWTプログラムを作成し、TestJnlp.jarとしてjarします

  2. TestJnlp.jarにキーストアを追加します

  3. Jnlpファイルを作成する

  4. すべてをTomcatフォルダーに入れる

  5. http://localhost:8080/Test.Jnlpを介してWebからTestJnlp.jarにアクセスします

じゃあ始めよう

1. JDkとTomcatをインストールする

1.5以上のJava JDK / JREバージョンとTomcatをインストールします。

2. ディレクトリ構造

この例のディレクトリ構造。

image

3. AWT + Jnlp

TestJnlp.javaの内容を参照してください。これは、AWTがサポートされている単純なAWTプログラムです。

package com.example;

import java.awt.*;
import javax.swing.*;
import java.net.*;
import javax.jnlp.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class TestJnlp {
  static BasicService basicService = null;
  public static void main(String args[]) {
    JFrame frame = new JFrame("Mkyong Jnlp UnOfficial Guide");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JLabel label = new JLabel();
    Container content = frame.getContentPane();
    content.add(label, BorderLayout.CENTER);
    String message = "Jnln Hello Word";

    label.setText(message);

    try {
      basicService = (BasicService)
        ServiceManager.lookup("javax.jnlp.BasicService");
    } catch (UnavailableServiceException e) {
      System.err.println("Lookup failed: " + e);
    }

    JButton button = new JButton("/");

    ActionListener listener = new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        try {
          URL url = new URL(actionEvent.getActionCommand());
          basicService.showDocument(url);
        } catch (MalformedURLException ignored) {
        }
      }
    };

    button.addActionListener(listener);

    content.add(button, BorderLayout.SOUTH);
    frame.pack();
    frame.show();
  }
}

P.S If “import javax.jnlp.;” is not found, please include jnlp library which located at *JRE/lib/javaws.jar.

4. ジャーイット

Javaのクラスフォルダーを見つけ、コマンドプロンプトで次のコマンドを使用してJarします

jar -cf TestJnlp.jar *.*

これにより、すべてのJavaのクラスが「TestJnlp.jar」という名前の新しいjarファイルにパックされます。

5. キーストアを作成する

「testkeys」という名前の新しいキーストアを追加します

keytool -genkey -keystore testKeys -alias jdc

キーストアのパスワード、名、姓、組織の単位などを求められます。すべてを入力してください。

6. キーストアをJarファイルに割り当てる

新しくキーストア「testkeys」を「TestJnlp.jar」ファイルに添付しました

jarsigner -keystore testKeys TestJnlp.jar jdc

新しく作成したキーストアのパスワードを要求します

7. JARを展開する

TestJnlp.jar」をTomcatのデフォルトのWebサーバーフォルダ(たとえば、Windows –C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT)にコピーします。

8. JNLPファイルを作成する

このような新しいTest.jnlpファイルを作成します


    
        Jnlp Testing
        YONG MOOK KIM
        
        Testing Testing
    
    
        
    
    
        
        
    
    

9. JNLPファイルを展開する

Test.jnlpをTomcatのデフォルトのWebサーバーフォルダにもコピーします。

C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT

10. Tomcatを起動する

C:\Tomcat folder\bin\tomcat6.exe

image

11. 試して

URLhttp://localhost:8080/Test.jnlpにアクセスすると、Test.jnlpファイルをダウンロードするように求められます。それを受け入れてダブルクリックするだけです。

すべてがうまくいった場合、次の出力が表示されます。

image

「実行」ボタンをクリックして、AWTプログラムを起動します。

image

Note
jnlpが応答しない場合は、Tomcatconfフォルダーにあるweb.xmlに次のコードを配置します。

  
    jnlp
    application/x-java-jnlp-file