Rapport tp3 j2ee

424 vues

Publié le

Rapport TP3 J2EE

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
424
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
20
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rapport tp3 j2ee

  1. 1. TROISIEME RAPPORT EN JAVA EE  Collaboration de Servlets  Partage d’information  Partage de contrôle  Travaux Pratique Encadré Par : M Mohamed NAYA Préparé par Soukaina NAJIHI Soukaina BOUJADI ratique :
  2. 2. 2 TROISIEME RAPPORT EN JAVA EE Sommaire : Remerciements..………………………………………………………..….……3 Objectifs...…….…………………………………………………………..…..…4 Collaboration des servlets ……………………….………………………..…...5 Partage d’information…………………………….…………………….......….5 Principe ……………………………………………………….………..…5 Démarche à suivre………………………………………….…………..…6 Exemple………………………………………………………………..….7 Partage de contrôle………………………………………………………..........10 Principe ………………………………………………………………....10 Exemple…………………………………………..……………….......…11 Travaux Pratique ……………………………...………………………………..12 Enoncé …………………………………………………………….…....12 Solution ………………………………………………………………....12 Récapitulations …………………………………………………….…...……14
  3. 3. 3 TROISIEME RAPPORT EN JAVA EE Remerciement Au terme de ce travail, Nous tenons à remercier notre Cher professeur Monsieur Mohamed NAYA , pour ses précieuses directives et son suivi continu et pour tous les efforts qu'il a fournis en classe et qui ont porté leur fruits, et surtout pour son soutien continue et inconditionnel. Du fond du coeur, merci
  4. 4. 4 TROISIEME RAPPORT EN JAVA EE Objectifs  Des servlets qui s'exécutent dans le même serveur peuvent communiquer les unes avec les autres  Elles peuvent partager de l'information : – un état (état des ventes, des achats, des clients, ...) – une ressource (connexion BD, un fichier statique, ...)  Elles peuvent partager le contrôle d'une même requête : – la requête reçue par une servlet peut être traitée en partie par une autre servlet
  5. 5. 5 TROISIEME RAPPORT EN JAVA EE Les servlets qui s’exécutent dans le même serveur ont plusieurs moyens de communiquer les unes avec les autres. Il existe deux principaux styles de collaboration entre les servlets : 1-Partage d’informations : Cela implique deux servlets ou plus partageant un état ou une ressource. Par exemple, un ensemble de servlets gérant un magasin en ligne pourrait partager les informations sur le stock des produits ou une connexion à la base de données. Le suivi de session est un cas spécial de partage d’informations.  A toute application web est associé un contexte auquel les servlets ont accès  Un contexte d'application web est représenté par une instance de la classe. ServletContext ()  Les servlets accèdent au contexte courant par la méthode getServletContext() ServletContext context = getServletContext();  Les éléments du contexte se présentent comme des couples(nom,objet )  Chaque application web possède son propre contexte  Pour partager des informations avec une autre application web (située sur le même serveur), il faut accéder à un autre contexte
  6. 6. 6 TROISIEME RAPPORT EN JAVA EE Les accesseurs aux éléments du contexte sont :  void setAttribute(String name, Object sous le nom  Object getAttribute(String name) : retrouve l’objet sous le nom indiqué. indiqué  Enumeration getAttributeNames() : retourne l’ensemble des noms de tous les attributs liés  void removeAttribute(String name) : supprime sous le nom indiqué Démarche à suivre o) : lie un objet indiqué . liés. l’objet lié . // accès au contexte courant ServletContext contexteCourant = getServletContext(); // accès à un autre contexte ServletContext contexteExterieur = getServletContext("/autreAppli/index.jsp"); // récupération d’un attribut externe String qte = contexteExterieur.getAttribute("quantite");
  7. 7. 7 TROISIEME RAPPORT EN JAVA EE  Exemple  2 servlets partagent une même information : un vecteur contenant le nom de personnes.  Cette information est enregistrée sous la forme d’un attribut dans le contexte de l’application.  La servlet Inscription enregistre des participants à une réunion  Un autre servlet Invites accède à la composition de la réunion et affiche la liste des inscrits. public class Inscription extends HttpServlet { private String nom; private Vector invites = new Vector(); public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { res.setContentType( "text/html" ); PrintWriter out = res.getWriter(); ServletContext contexte = getServletContext(); out.println("<FORM ACTION='/reunion/Inscription' METHOD='get'>"); out.println("<INPUT NAME='nom' TYPE='text'/>"); out.println("<INPUT TYPE='submit' VALUE='nouvel inscrit'/>" ); out.println("</FORM>"); invites.add(req.getParameter("nom")); contexte.setAttribute("invites",invites); } }
  8. 8. 8 TROISIEME RAPPORT EN JAVA EE public class Invites extends HttpServlet { public void doGet( HttpServletRequest req, HttpServletResponse res ) throws IOException, ServletException { res.setContentType( "text/plain" ); PrintWriter out = res.getWriter(); ServletContext contexte = getServletContext(); Vector invites = (Vector)contexte.getAttribute( "invites" ); Enumeration e = invites.elements(); out.println( "liste des inscrits : " ); while ( e.hasMoreElements() ) out.println( e.nextElement() ); } }
  9. 9. 9 TROISIEME RAPPORT EN JAVA EE Fichier web.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app SYSTEM "http://java.sun.com/dtd/web-app_ 2_3.dtd"> <web-app> <servlet><servlet-name>Inscription</servlet-name> <servlet-class>reunion.Inscription</servlet-class> </servlet> <servlet><servlet-name>Invites</servlet-name> <servlet-class>reunion.Invites</servlet-class> </servlet> <servlet-mapping> <servlet-name>Inscription</servlet-name> <url-pattern>/Inscription</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Invites</servlet-name> <url-pattern>/Invites</url-pattern> </servlet-mapping> </web-app>
  10. 10. 10 TROISIEME RAPPORT EN JAVA EE Servlet Inscription ervlet Servlet ervlet Invites 2-Partage du contrôle Cela implique deux servlets ou plus partageant le contrôle d’une requête. Par exemple, une servlet peut recevoir la requête et laisser à l’autre servlet une partie ou toute la responsabilité du traitement de la requête.  Une Servlet peut laisser à une autre Servlet de la même application tout ou partie du traitement. Utilisé souvent avec une servlet contrôleur et des servlets spécialisées. pour structurer une application  Plus précisément une Servlet peut déléguer une requête entière ou inclure la réponse d’un autre programme.  Pour déléguer une requête, il faut obtenir un objet Request RequestDispatcher. On peut ensuite ‘forwarder’ la requête vers une autre servlet (ou le plus souvent vers une page JSP). Le contrôle ne revien revient t plus à la servlet d’origine. Des données peuvent être passées par l’URL ou par le ServletContext.
  11. 11. 11 TROISIEME RAPPORT EN JAVA EE  Exemple  La méthode include() ressource dans la réponse courante. RequestDispatcher dispat = req. dispat.include(req,res);  La différence avec un de RequestDispatcher inclut le contenu d’une – la Servlet appelante garde le contrôle de la réponse, – elle peut inclure du contenu avant et après le contenu inclus.  Il y a également possibilité de transmettre des informations lors de l’inclusion – dans l’URL, – par setAttribute(). getRequestDispatcher("/index.html") ; forward() est : html");
  12. 12. 12 TROISIEME RAPPORT EN JAVA EE Le partage du pas le transfert d’attributs objet autres que des chaînes de caractères . Il faut alors utiliser un objet RequestDispatcher et l’objet implicite 3-TP : Enoncé : contrôle par des balises actions ne permettent Request. Servlets qui définis la date d'annivesaire d dans ce jours . finis d'aujourd'hui et précise qui le fête 'aujourd'hui Solution : Création de deux attributs : nom et date
  13. 13. 13 TROISIEME RAPPORT EN JAVA EE Lecture des attributs
  14. 14. 14 TROISIEME RAPPORT EN JAVA EE IL existe deux cadres de collaboration inter-servlets.  Le premier permet le partage de ressources communes (Des valeurs) .  Le deuxième le partage de contrôle. Dans le premier cas c'est en récupérant le contexte d'exécution de la servlet et en créant un nouvel attribut que l'on rend disponible une ressource pour les autres servlets. Il est possible de collaborer avec une servlet d'un autre contexte. Dans le deuxième cas une première servlet effectuera une tâche et la deuxième, si besoin est en effectuera une autre. La première servlet passe le relais à l'autre en lui communiquant des informations.

×