User Tools

Site Tools


sysrep:ejb3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sysrep:ejb3 [2013/12/18 15:57] – [Jouons avec les Beans] orelsysrep:ejb3 [2024/03/18 15:06] (current) – external edit 127.0.0.1
Line 14: Line 14:
  
  
-__Prérequis__ : vous devez disposer d'un Java 1.6 et de NetBeans 7. Si ce n'est pas le cas, veuillez consulter la section installation à la fin de cette page. +__Prérequis__ : vous devez disposer d'un Java 1.6 et de NetBeans 7. Si ce n'est pas le cas, veuillez consulter la section installation à la fin de cette page. Lancez la commande suivante :
  
 +  $ netbeans-7.2
 ==== Prise en main de l'IDE NetBeans ==== ==== Prise en main de l'IDE NetBeans ====
  
Line 37: Line 37:
  
   - Créez un projet de type Enterprise Application, appelé "EnterpriseApplication" qui contient un module EJB (EnterpriseApplication-ejb) et un module Web (EnterpriseApplication-war).   - Créez un projet de type Enterprise Application, appelé "EnterpriseApplication" qui contient un module EJB (EnterpriseApplication-ejb) et un module Web (EnterpriseApplication-war).
-  - Créez une nouveau projet "Java Class Library", appelé "HelloLibrary". Ce projet servira par la suite à accueillir l'interface Remote de notre Session Bean. __Nota Bene__ : Cette étape est nouvelle depuis NetBeans 7 !+  - Créez un nouveau projet "Java Class Library", appelé "HelloLibrary". Ce projet servira par la suite à accueillir l'interface Remote de notre Session Bean. __Nota Bene__ : Cette étape est nouvelle depuis NetBeans 7 !
   - Dans le module EJB, ajoutez maintenant un Session Bean (Stateless) HelloBean, composé d'une interface "Local" et "Remote", cette dernière étant associé au projet "HelloLibrary"   - Dans le module EJB, ajoutez maintenant un Session Bean (Stateless) HelloBean, composé d'une interface "Local" et "Remote", cette dernière étant associé au projet "HelloLibrary"
   - A ce niveau, votre bean (HelloBean.java) est créé ainsi que deux interfaces : HelloBeanLocal.java et HelloBeanRemote.java (dans HelloLibrary). Complétez ces fichiez.   - A ce niveau, votre bean (HelloBean.java) est créé ainsi que deux interfaces : HelloBeanLocal.java et HelloBeanRemote.java (dans HelloLibrary). Complétez ces fichiez.
   - Sélectionnez le module web et ajoutez une servlet "HelloServlet" qui utilise votre Session Bean. Pour cela, il faut ouvrir HelloServlet.java et cliquer sur le menu contextuel 'Insert Code / Call Enterprise Bean...', puis vous laisser guider. Utilisez votre bean dans la servlet...   - Sélectionnez le module web et ajoutez une servlet "HelloServlet" qui utilise votre Session Bean. Pour cela, il faut ouvrir HelloServlet.java et cliquer sur le menu contextuel 'Insert Code / Call Enterprise Bean...', puis vous laisser guider. Utilisez votre bean dans la servlet...
   - Pour Tester votre servlet, il faut faire Clean / Build / Run sur le projet principal "EnterpriseApplication" et non sur un des sous-modules ! Par défaut, la JSP est affiché, ouvrez donc explicitement votre servlet à l'URL suivante : http://localhost:8080/EnterpriseApplication-war/HelloServlet   - Pour Tester votre servlet, il faut faire Clean / Build / Run sur le projet principal "EnterpriseApplication" et non sur un des sous-modules ! Par défaut, la JSP est affiché, ouvrez donc explicitement votre servlet à l'URL suivante : http://localhost:8080/EnterpriseApplication-war/HelloServlet
-  - Nous allons maintenant ajouter un client distant, qui utilise donc l'interface Remote de notre bean. (...__Nota Bene__ : Netbeans ne permet que de démarrer un seul module client à la fois, le client standalone ou la servlet. Pour choisir lequel exécuter, sélectionner le menu Properties du projet principal "EnterpriseApplication", puis modifier le 'Client Module' dans la catégorie 'Run'+  - Nous allons maintenant ajouter un client distant, qui utilise donc l'interface Remote de notre bean. Pour ce faire, cliquez sur le menu New Project / Java EE / Enterprise Application Client, puis ajoutez-le à votre //Enterprise Application// et cochez la case //Enable Contexts and Dependency Injection//. __Nota Bene__ : Netbeans ne permet que de démarrer un seul module client à la fois, le client standalone ou la servlet. Pour choisir lequel exécuter, sélectionner le menu Properties du projet principal "EnterpriseApplication", puis modifier le 'Client Module' dans la catégorie 'Run'
-  - Utilisez ce Bean dans une JSP, en vous inscpirant du code ci-dessous...+  - Utilisez ce Bean dans une JSP, en vous inspirant du code ci-dessous...
  
 <code xml> <code xml>
Line 51: Line 51:
   <%=s%>    <%=s%> 
 </code>         </code>        
 +
 +__Nota Bene__ : L'IDE NetBeans est un peu sensible ! Il faut éviter autant que possible de faire du refactoring (rename, remove, ...). Si une erreur persiste au Build dans les cibles XML, tentez de redémarrer l'IDE. Si le problème persiste toujours, bah vous êtes bon pour recommencer tout votre projet :-(
  
 ====Application Bancaire==== ====Application Bancaire====
Line 78: Line 80:
   * balance (Float)   * balance (Float)
  
-  - Implanter BankBean un utilisant une HashMap<Long,Account>... +  - Implantez BankBean un utilisant une HashMap<Long,Account>... 
-  - Implanter un client standalone distant BankClient.java qui teste votre application (cf. nota Bene). +  - Implantez un client standalone distant BankClient.java qui teste votre application (cf. nota Bene). 
-  - Optionnel : tester avec une servlet.+  - Testez avec une servlet.
  
 Plus d'infos : Plus d'infos :
Line 87: Line 89:
   * Voir aussi le tutoriel : {{:sysrep:javaeetutorial.pdf}}   * Voir aussi le tutoriel : {{:sysrep:javaeetutorial.pdf}}
  
-====Application Bancaire Persistante====+====Application Bancaire Persistante (Bonus)====
  
 En vous inspirant de l'exercice précédent, développer une application de compte bancaire persistante, appelée BankAppPersistant. Dans ce cas précis, chaque compte sera représenté par un Entity Bean de type Account. En vous inspirant de l'exercice précédent, développer une application de compte bancaire persistante, appelée BankAppPersistant. Dans ce cas précis, chaque compte sera représenté par un Entity Bean de type Account.
sysrep/ejb3.1387382256.txt.gz · Last modified: 2024/03/18 15:05 (external edit)