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:
-
Créez un programme AWT simple et jarez-le en tant que TestJnlp.jar
-
Ajouter un keystore dans TestJnlp.jar
-
Créer un fichier Jnlp
-
Tout mettre dans le dossier Tomcat
-
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.
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
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
Cliquez sur le bouton «exécuter» pour lancer le programme AWT.
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