Академический Документы
Профессиональный Документы
Культура Документы
Compte rendu TP N3 N
JAVA Avanc
Introduction Les Entreprise Java Bean ou EJB sont des composants serveurs donc non visuels qui respectent les spcifications d'un modle dit par Sun. Ces spcifications dfinissent une architecture, un environnement d'excution et un ensemble d'API. Le but des EJB est de faciliter la cration d'applications distribues pour les entreprises. Une des principales caractristiques des EJB est de permettre aux dveloppeurs de se concentrer sur les traitements orients mtiers car les EJB et l'environnement dans lequel ils s'excutent prennent en charge un certain nombre de traitements tel que la gestion des transactions, la persistance des donnes, la scurit, ... Physiquement, un EJB est un ensemble d'au moins deux interfaces et une classe regroupes dans un module contenant un descripteur de dploiement particulier. Il existe plusieurs versions des spcifications des E.J.B. : 1.0 : 1.1 : 2.0 : 2.1 : 3.0 : Diffrence entre le trois Version dEJB EJB 2.0 publi en septembre 2001, intgr J2EE 1.3 :
Message-Driven Beans Entity 2.x reposant sur EJB QL Interface Local pour amliorer les performances des appels dans la mme JVM
Session beans (stateless/stateful) Entity Beans (CMP / BMP) Interface Remote uniquement
utilisation de POJO et POJI, plus d'interface Home utilisation des annotations, le descripteur de dploiement est optionnel utilisation de JPA pour les beans de type entity
DEVELOPPER DES EJB SESSIONS Enonc pratique: Le TP a pour but de dvelopper une application J2EE permettant d'afficher le message "Bonjour tout le monde !" dans une page Servlet. Celle-ci ci se connecte un Java Bean et lui demande un affichage du message. Le Java Bean se connecte alors l'EJB dont le principal rle est de retourner le message.
Un projet se compose En ralit de 3 projets
1. Le premier, "TP03javaEJB", "TP03javaEJB", correspond au projet global qui contient en fait les archives des deux autres (il correspond au fichier .ear du cours), 2. le second, " TP03javaEJB -ejb", correspond au .jar qui va contenir tous vos ejbs 3. le troisime, " TP03javaEJB -war", war", correspond au .war qui va contenir vos servlets, jsps et pages html.
Cration de sessionBean
M2R INFO SPI 3
package tp03; import java.io.IOException; import java.io.PrintWriter; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends HttpServlet { @EJB private SessionBeanLocal sessionBean; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet TestServlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Servlet ServletTest at " + request.getContextPath () + "</h1>"); out.println("L'ejb SessionBean a renvoy : <em>" + sessionBean.getMessage() + "</em>"); out.println("</body>"); out.println("</html>"); } finally { out.close(); } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { } } TestServlet java
M2R INFO SPI 4
package tp03; import javax.ejb.Stateless; @Stateless public class SessionBean implements SessionBeanLocal { @Override public String getMessage() { System.out.println("Hello World qui va s'afficher dans la console du serveur, pour trace"); return "Bonjour r tout le monde!"; } } SessionBean.java
package tp03; import javax.ejb.Local; @Local public interface SessionBeanLocal { String getMessage(); } SessionBeanLocal.java
Partie Pratique