Tutoriel Java Web Start (Jnlp)

Tutoriel Java Web Start (Jnlp)

Voici une brève explication sur Java Web Start de SUN

«Java Web Start est un mécanisme de livraison de programmes via un serveur Web standard. Généralement lancés via le navigateur, ces programmes sont déployés sur le client et exécutés en dehors de la portée du navigateur. Une fois déployés, les programmes n'ont pas besoin d'être téléchargés à nouveau, et ils peuvent télécharger automatiquement les mises à jour au démarrage sans que l'utilisateur doive recommencer tout le processus d'installation. »

Ce didacticiel vous montre comment créer un fichier Java Web Start (Jnlp) à télécharger par l'utilisateur, lorsque l'utilisateur clique sur le fichier jnlp téléchargé, lancez un programme AWT simple. Voici les étapes récapitulatives:

  1. Créez un programme AWT simple et jarez-le en tant que TestJnlp.jar

  2. Ajouter un keystore dans TestJnlp.jar

  3. Créer un fichier Jnlp

  4. Tout mettre dans le dossier Tomcat

  5. Accédez à TestJnlp.jar depuis le Web viahttp://localhost:8080/Test.Jnlp

OK commençons

1. Installez JDk et Tomcat

Installez la version Java JDK / JRE supérieure à 1.5 et Tomcat.

2. Structure du répertoire

Structure de répertoire de cet exemple.

image

3. AWT + Jnlp

Voir le contenu deTestJnlp.java, c'est juste un simple programme AWT avec AWT pris en charge.

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. Jar It

Localisé le dossier classes de votre Java et le Jar avec la commande suivante dans l'invite de commande

jar -cf TestJnlp.jar *.*

Cela regroupera toutes les classes Java dans un nouveau fichier jar, nommé «TestJnlp.jar».

5. Créer un keystore

Ajouter un nouveau fichier de clés nommé "testkeys"

keytool -genkey -keystore testKeys -alias jdc

Il vous demandera le mot de passe du magasin de clés, le prénom, le nom de famille, l'unité de l'organisation… etc… il suffit de les remplir tous.

6. Attribuer le keystore au fichier Jar

Le fichier de clés nouvellement joint «testkeys» à votre fichier «TestJnlp.jar»

jarsigner -keystore testKeys TestJnlp.jar jdc

Il vous demandera le mot de passe pour votre keystore nouvellement créé

7. Déployez JAR it

Copiez vos «TestJnlp.jar» dans le dossier du serveur Web par défaut de Tomcat, par exemple sous Windows -C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT.

8. Créer un fichier JNLP

Créez un nouveau fichierTest.jnlp comme celui-ci


    
        Jnlp Testing
        YONG MOOK KIM
        
        Testing Testing
    
    
        
    
    
        
        
    
    

9. Déployer le fichier JNLP

Copiez égalementTest.jnlp dans votre dossier de serveur Web par défaut de tomcat.

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

10. Démarrer Tomcat

C:\Tomcat folder\bin\tomcat6.exe

image

11. Essaye-le

Accédez à l'URLhttp://localhost:8080/Test.jnlp, il vous demandera de télécharger le fichierTest.jnlp, acceptez simplement et double-cliquez dessus.

Si tout s'est bien passé, vous devriez voir la sortie suivante

image

Cliquez sur le bouton «exécuter» pour lancer le programme AWT.

image

Note
Si jnlp n'a pas de réponse, place les codes suivants dans votre web.xml, qui se trouve dans le dossier de conf Tomcat.

  
    jnlp
    application/x-java-jnlp-file