TP1 EJB : mise en place de l'environnement, premières applications

De $1

Version de 03:46, 27 Avr 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Installation logicielle

Logiciels obligatoires :

  • un JDK (pas un JRE) version 1.6 ou supérieur installé sur votre machine, pas un JRE. Si ce n'est pas le cas, récupérez sur http://java.sun.com/javase/downloads/index.jsp un jdk récent et installez-le.
  • Netbeans 6.7.x : Sur la page de download de netbeans 6 récupérez une version de netbeans qui vient avec les serveurs glassfish et tomcat (celle dans la colonne de droite). Pour info, le fichier windows de la version 6.7.1 s'appelle : netbeans-6.7.1-ml-windows.exe et fait dans les 300Mo. Votre professeur fera passer une clé USB pour ne pas que vous ayez à le télécharger au début du TP. En revanche, si vous lisez cet énoncé avant le TP, vous pouvez le télécharger et l'installer. Lors de l'installation, cocher la case pour installer aussi Tomcat 6 ! Cela nous sera très utile pour la suite du cours.


NE CHANGEZ AUCUN MOT DE PASSE !

Note : si jamais les liens ci-dessus ont changé, google est votre ami pour récupérer des versions à jour.

Installez donc le JDK si vous ne l'avez pas, puis netbeans, et passons à la suite.

Vérification de l'installation

Lancez netbeans une fois l'installation terminée. Cliquez sur l'onglet "services" et ouvrez l'item serveurs. Vous devez voir que tomcat et glassfish sont installés :

 Snap2.jpg

Vérifions maintenant que tout est ok... L'archive que nous avons installée comprend l'outil de développement netbeans mais aussi le serveur d'application de Sun, appellé Glassfish. Lancez netbeans, puis allez dans l'onglet "services". Nous allons lancer le serveur pour voir si tout est ok:

Snap3.jpg

Puis, en demandant à voir la console d'administration, cela va ouvrir la page d'admin dans votre navigateur. En entrant le mot de passe adminadmin, une belle page devrait s'afficher. J'espère que vous n'avez pas modifié le mot de passe proposé par défaut, car dans une classe de TP, les statistiques prouvent que la moitié des élèves ne se souviennent plus de leur mot de passe très rapidement!

Snap4.jpg

 Snap7.jpg

 Le screenshot précédent présente la console d'administration. Nous en reparlerons plus tard. Le fait qu'elle s'affiche dans votre navigateur prouve que l'installation est ok.

Création d'un nouveau projet

Nous allons créer maintenant un projet pour le TP d'aujourd'hui. Allez dans le menu file/new project, puis dans la fenêtre suivante, sélectionnez JavaEE  comme catégorie de projet et « enterprise application » comme projet:

 Snap5.jpg

 Cliquez sur « next », puis donnez un nom à votre projet et n'oubliez pas d'indiquer que nous allons utiliser le serveur d'application de Sun (glassfish pour netbeans 6)

 Snap8.jpg

Une fois terminé, vous verrez dans l'onglet project « trois sous projets » :

 Snap9.jpg

  1. Le premier correspond au projet « global » qui contient en fait les archives des deux autres (il correspond au fichier .ear du cours),
  2. le second correspond au .jar qui va contenir tous vos ejbs
  3. le troisième au .war qui va contenir vos servlets, jsps et pages html.

Le fichier .ear est en fait une archive qui contient les deux autres fichiers : le .jar et le .war, il permet de déployer l'ensemble de la web application d'un seul coup.

 

Création d'un premier ejb de type session bean stateless : HelloWorld

Allez sur le sous projet TP1EJB_2009-ejb (celui avec l'icone en forme de haricot, qui correspond à la partie "ejb" du projet) et faites bouton droit/new/session bean :

 Snap10.jpg

Puis dans la fenêtre suivante, indiquez le nom de votre Ejb, son type, et un nom de package (obligatoire) :

 Snap11.jpg

Une fois terminé, deux fichiers sont ajoutés dans le sous-projet : HelloWordBean.java et HelloWorldLocal.java, qui correspondent à la classe du bean et à son interface « locale » (un bean avec un interface locale ne peut être utilisé que par un client tournant dans la même JVM : une jsp, une servlet ou un autre ejb).

Snap12.jpg

Ajoutons une méthode dans ce bean, la méthode getMessage() qui renvoie la chaîne de caractères «Hello World» :

public String getMessage() {
    System.out.println("Hello World qui va s'afficher dans la console du serveur, pour trace");
    return "Hello World";
}

Puis, dans l'éditeur, cliquez sur l'en-tête de la méthode, une petite lampe jaune doit appraître sur la gauche, proposant des actions contextuelles. Choisissez "Add to Local Interface" pour indiquer que cette méthode n'est pas une méthode interne du bean mais une méthode qui sera accessible au travers de l'interface locale du bean. Si jamais cette lampe n'apparait pas, il faut dans ce cas, manuellement, ajouter l'en-tête de la méthode dans l'interface.

Snap14.jpg

D'ailleurs, si vous regardez le source de HelloWorldLocal.java, vous verrez les lignes suivantes :

@Local
public interface HelloWorldLocal {
    java.lang.String getMessage();
}