開発者ドキュメント

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

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

“Java Web Start is a mechanism for program delivery through a standard
Web server. Typically initiated through the browser, these programs are
deployed to the client and executed outside the scope of the browser.
Once deployed, the programs do not need to be downloaded again, and they
can automatically download updates on startup without requiring the user
to go through the whole installation process again.”

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

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

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

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

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

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

じゃあ始めよう

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

Java JDK/JREバージョン1.5以上、Tomcatをインストールしてください。

2.ディレクトリ構造

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

リンク://wp-content/uploads/2008/08/jnlp-tutorial-1.png[



]

3. AWT Jnlp

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

package com.mkyong;

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 “import javax.jnlp。

;”が見つからない場合は、

JRE/lib/javaws.jar ** にあるjnlpライブラリを含めてください。

4. Jar It

Javaのクラスフォルダがあり、コマンドプロンプトで次のコマンドを使用してJarファイルを作成します

jar -cf TestJnlp.jar ** .**

これにより、すべてのJavaのクラスが ”

TestJnlp.jar

“という名前の新しいjarファイルにパックされます。

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

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

keytool -genkey -keystore testKeys -alias jdc

キーストアのパスワード、名、姓、組織の単位などを入力します。

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



TestJnlp.jar

“ファイルに新たにキーストア ”

testkeys

“を添付

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

ファイルを作成する

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="Test.jnlp">
    <information>
        <title>Jnlp Testing</title>
        <vendor>YONG MOOK KIM</vendor>
        <homepage href="http://localhost:8080/"/>
        <description>Testing Testing</description>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <j2se version="1.6+"/>
        <jar href="TestJnlp.jar"/>
    </resources>
    <application-desc main-class="com.mkyong.TestJnlp"/>
</jnlp>

9. JNLPファイルをデプロイする

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

10. Tomcatを起動する

C:\Tomcat folder\bin\tomcat6.exe

リンク://wp-content/uploads/2008/08/jnlp-tutorial-2.png[



]

11.テストする

URL


http://localhost:8080/Test.jnlp


にアクセスすると、

Test.jnlp

ファイルをダウンロードし、ダブルクリックするだけです。

すべてがうまくいけば、次の出力が表示されるはずです

リンク://wp-content/uploads/2008/08/jnlp-tutorial-3.png[



]

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

リンク://wp-content/uploads/2008/08/jnlp-tutorial-4.png[



]

  • Note ** + jnlpが応答しない場合、Tomcatのconfフォルダにあるweb.xmlに次のコードを挿入します。

  <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
  </mime-mapping>

リンク://タグ/java/[java]

jnlp

モバイルバージョンを終了