SlideShare une entreprise Scribd logo
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 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 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 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 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 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 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 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 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 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 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 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 TROISIEME RAPPORT EN JAVA EE 
Lecture des attributs
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.

Contenu connexe

Tendances

Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
ENSET, Université Hassan II Casablanca
 
ENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - CoursENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
Horacio Gonzalez
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
ENSET, Université Hassan II Casablanca
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbc
abderrahim marzouk
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
DNG Consulting
 
Introductions Aux Servlets
Introductions Aux ServletsIntroductions Aux Servlets
Introductions Aux Servlets
François Charoy
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
Korteby Farouk
 
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
Ayoub Rouzi
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
Bachir Benyammi
 
Marzouk jsp
Marzouk jspMarzouk jsp
Marzouk jsp
abderrahim marzouk
 
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
ENSET, Université Hassan II Casablanca
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
ENSET, Université Hassan II Casablanca
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
ENSET, Université Hassan II Casablanca
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
Antoine Rey
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
Yassine Badri
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
ENSET, Université Hassan II Casablanca
 
Cours JSP
Cours JSPCours JSP
Cours JSP
herynantenaina
 
Marzouk-HTTP-SESSION-JEE
Marzouk-HTTP-SESSION-JEEMarzouk-HTTP-SESSION-JEE
Marzouk-HTTP-SESSION-JEE
abderrahim marzouk
 
3 shared preference_sq_lite
3 shared preference_sq_lite3 shared preference_sq_lite
3 shared preference_sq_lite
Saber LAJILI
 

Tendances (20)

Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
ENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - CoursENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbc
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
Introductions Aux Servlets
Introductions Aux ServletsIntroductions Aux Servlets
Introductions Aux Servlets
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Marzouk jsp
Marzouk jspMarzouk jsp
Marzouk jsp
 
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Cours JSP
Cours JSPCours JSP
Cours JSP
 
Jsp
JspJsp
Jsp
 
Marzouk-HTTP-SESSION-JEE
Marzouk-HTTP-SESSION-JEEMarzouk-HTTP-SESSION-JEE
Marzouk-HTTP-SESSION-JEE
 
3 shared preference_sq_lite
3 shared preference_sq_lite3 shared preference_sq_lite
3 shared preference_sq_lite
 

En vedette

En Espadrilles Et Lunettes Funky Madrid
En Espadrilles Et Lunettes Funky MadridEn Espadrilles Et Lunettes Funky Madrid
En Espadrilles Et Lunettes Funky Madrid
SoWeTrip.com
 
Social Mediagrama Ax Summit
Social Mediagrama Ax SummitSocial Mediagrama Ax Summit
Social Mediagrama Ax Summit
Axeleratum
 
Mensuel Actions Mars 2010
Mensuel Actions Mars 2010Mensuel Actions Mars 2010
Mensuel Actions Mars 2010
Cherradi -
 
Ebook VI foro hosteltur 2010
Ebook VI foro hosteltur 2010Ebook VI foro hosteltur 2010
Ebook VI foro hosteltur 2010
Hosteltur
 
ThèSe Vivier F P91 319 Pages.0001
ThèSe Vivier F P91 319 Pages.0001ThèSe Vivier F P91 319 Pages.0001
ThèSe Vivier F P91 319 Pages.0001
guest74a4d5
 
Un peu d'histoire. Isabel Peña. 2º Avancé
Un peu d'histoire. Isabel Peña. 2º AvancéUn peu d'histoire. Isabel Peña. 2º Avancé
Un peu d'histoire. Isabel Peña. 2º Avancé
asola
 
13 - F2000 - 2011 - Holtzer - Firminy
13 -  F2000 - 2011 -  Holtzer - Firminy13 -  F2000 - 2011 -  Holtzer - Firminy
13 - F2000 - 2011 - Holtzer - Firminy
Cédric Frayssinet
 
Les teleprocedures
Les teleproceduresLes teleprocedures
Visita Guachené
Visita GuachenéVisita Guachené
Visita Guachené
Chinca FMA
 
La Vírgula Prueba Dummy
La Vírgula Prueba DummyLa Vírgula Prueba Dummy
La Vírgula Prueba Dummy
La Adelita
 
Les sites et applications mobiles de plus en plus plebiscités au détriment de...
Les sites et applications mobiles de plus en plus plebiscités au détriment de...Les sites et applications mobiles de plus en plus plebiscités au détriment de...
Les sites et applications mobiles de plus en plus plebiscités au détriment de...
Philippe Dumont
 
Pareto en Excel (archivo .XLSX)
Pareto en Excel (archivo .XLSX)Pareto en Excel (archivo .XLSX)
Pareto en Excel (archivo .XLSX)
Mario Duarte
 
Réseaux sociaux : Etat des lieux Y aller ou pas ? Pourquoi ? Comment ?
Réseaux sociaux : Etat des lieux  Y aller ou pas ?  Pourquoi ? Comment ?Réseaux sociaux : Etat des lieux  Y aller ou pas ?  Pourquoi ? Comment ?
Réseaux sociaux : Etat des lieux Y aller ou pas ? Pourquoi ? Comment ?
David de la Picardie
 
La Entrega
La EntregaLa Entrega
La Entrega
Luis Cortes
 
Château d`almourol
Château d`almourolChâteau d`almourol
Château d`almourol
niknad0173
 
Les tendances du recrutement en France en 2016
Les tendances du recrutement en France en 2016Les tendances du recrutement en France en 2016
Les tendances du recrutement en France en 2016
Amine Slim
 
Entrevue avec nos ancêtres
Entrevue avec nos ancêtresEntrevue avec nos ancêtres
Entrevue avec nos ancêtres
niknad0173
 
Air France Memo To Pilots
Air France Memo To PilotsAir France Memo To Pilots
Air France Memo To Pilots
Kieran Daly
 
110311 Certificaciones Gestion
110311 Certificaciones Gestion110311 Certificaciones Gestion
110311 Certificaciones Gestion
juliomestrevaldes
 

En vedette (20)

Ccagt2
Ccagt2Ccagt2
Ccagt2
 
En Espadrilles Et Lunettes Funky Madrid
En Espadrilles Et Lunettes Funky MadridEn Espadrilles Et Lunettes Funky Madrid
En Espadrilles Et Lunettes Funky Madrid
 
Social Mediagrama Ax Summit
Social Mediagrama Ax SummitSocial Mediagrama Ax Summit
Social Mediagrama Ax Summit
 
Mensuel Actions Mars 2010
Mensuel Actions Mars 2010Mensuel Actions Mars 2010
Mensuel Actions Mars 2010
 
Ebook VI foro hosteltur 2010
Ebook VI foro hosteltur 2010Ebook VI foro hosteltur 2010
Ebook VI foro hosteltur 2010
 
ThèSe Vivier F P91 319 Pages.0001
ThèSe Vivier F P91 319 Pages.0001ThèSe Vivier F P91 319 Pages.0001
ThèSe Vivier F P91 319 Pages.0001
 
Un peu d'histoire. Isabel Peña. 2º Avancé
Un peu d'histoire. Isabel Peña. 2º AvancéUn peu d'histoire. Isabel Peña. 2º Avancé
Un peu d'histoire. Isabel Peña. 2º Avancé
 
13 - F2000 - 2011 - Holtzer - Firminy
13 -  F2000 - 2011 -  Holtzer - Firminy13 -  F2000 - 2011 -  Holtzer - Firminy
13 - F2000 - 2011 - Holtzer - Firminy
 
Les teleprocedures
Les teleproceduresLes teleprocedures
Les teleprocedures
 
Visita Guachené
Visita GuachenéVisita Guachené
Visita Guachené
 
La Vírgula Prueba Dummy
La Vírgula Prueba DummyLa Vírgula Prueba Dummy
La Vírgula Prueba Dummy
 
Les sites et applications mobiles de plus en plus plebiscités au détriment de...
Les sites et applications mobiles de plus en plus plebiscités au détriment de...Les sites et applications mobiles de plus en plus plebiscités au détriment de...
Les sites et applications mobiles de plus en plus plebiscités au détriment de...
 
Pareto en Excel (archivo .XLSX)
Pareto en Excel (archivo .XLSX)Pareto en Excel (archivo .XLSX)
Pareto en Excel (archivo .XLSX)
 
Réseaux sociaux : Etat des lieux Y aller ou pas ? Pourquoi ? Comment ?
Réseaux sociaux : Etat des lieux  Y aller ou pas ?  Pourquoi ? Comment ?Réseaux sociaux : Etat des lieux  Y aller ou pas ?  Pourquoi ? Comment ?
Réseaux sociaux : Etat des lieux Y aller ou pas ? Pourquoi ? Comment ?
 
La Entrega
La EntregaLa Entrega
La Entrega
 
Château d`almourol
Château d`almourolChâteau d`almourol
Château d`almourol
 
Les tendances du recrutement en France en 2016
Les tendances du recrutement en France en 2016Les tendances du recrutement en France en 2016
Les tendances du recrutement en France en 2016
 
Entrevue avec nos ancêtres
Entrevue avec nos ancêtresEntrevue avec nos ancêtres
Entrevue avec nos ancêtres
 
Air France Memo To Pilots
Air France Memo To PilotsAir France Memo To Pilots
Air France Memo To Pilots
 
110311 Certificaciones Gestion
110311 Certificaciones Gestion110311 Certificaciones Gestion
110311 Certificaciones Gestion
 

Similaire à Rapport tp3 j2ee

Spring MVC
Spring MVCSpring MVC
Spring MVC
Abdelhakim Bachar
 
Activity
ActivityActivity
Activity
dido
 
Java EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdfJava EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdf
ColombieColombie
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
Lilia Sfaxi
 
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
FethiBenYahia1
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
Atsé François-Xavier KOBON
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
Rachid NID SAID
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
Mustapha Nakous
 
BordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaBordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets Java
Camblor Frédéric
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
LeTesteur
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
Vincent Composieux
 
react-fr.pdf
react-fr.pdfreact-fr.pdf
react-fr.pdf
ssuser65180a
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
oumaimanouari
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
ATHMAN HAJ-HAMOU
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
Lilia Sfaxi
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
GreenIvory
 

Similaire à Rapport tp3 j2ee (20)

Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Tapestry
TapestryTapestry
Tapestry
 
Activity
ActivityActivity
Activity
 
Java EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdfJava EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdf
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
APACHE TOMCAT
APACHE TOMCATAPACHE TOMCAT
APACHE TOMCAT
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
 
BordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaBordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets Java
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
Tutoriel ajax jquery
Tutoriel ajax jqueryTutoriel ajax jquery
Tutoriel ajax jquery
 
react-fr.pdf
react-fr.pdfreact-fr.pdf
react-fr.pdf
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 

Plus de Soukaina Boujadi

Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIX
Soukaina Boujadi
 
Rapport XMI To SVG
Rapport XMI To SVGRapport XMI To SVG
Rapport XMI To SVG
Soukaina Boujadi
 
Conformiq
ConformiqConformiq
Conformiq
Soukaina Boujadi
 
Composants hardware du mainframe
Composants hardware du mainframeComposants hardware du mainframe
Composants hardware du mainframe
Soukaina Boujadi
 
Open erp le reporting avec jasper reports
Open erp  le reporting avec jasper reportsOpen erp  le reporting avec jasper reports
Open erp le reporting avec jasper reports
Soukaina Boujadi
 
Comment lancer une entreprise
Comment lancer une entrepriseComment lancer une entreprise
Comment lancer une entreprise
Soukaina Boujadi
 
Rapport comment lancer une entreprise
Rapport comment lancer une entrepriseRapport comment lancer une entreprise
Rapport comment lancer une entreprise
Soukaina Boujadi
 
Présentation open bravo
Présentation open bravoPrésentation open bravo
Présentation open bravo
Soukaina Boujadi
 
Sauvegardes de base de données
Sauvegardes de base de donnéesSauvegardes de base de données
Sauvegardes de base de données
Soukaina Boujadi
 
Concepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupérationConcepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupération
Soukaina Boujadi
 
Sécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFISécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFI
Soukaina Boujadi
 
Programmation shell
Programmation shellProgrammation shell
Programmation shell
Soukaina Boujadi
 

Plus de Soukaina Boujadi (12)

Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIX
 
Rapport XMI To SVG
Rapport XMI To SVGRapport XMI To SVG
Rapport XMI To SVG
 
Conformiq
ConformiqConformiq
Conformiq
 
Composants hardware du mainframe
Composants hardware du mainframeComposants hardware du mainframe
Composants hardware du mainframe
 
Open erp le reporting avec jasper reports
Open erp  le reporting avec jasper reportsOpen erp  le reporting avec jasper reports
Open erp le reporting avec jasper reports
 
Comment lancer une entreprise
Comment lancer une entrepriseComment lancer une entreprise
Comment lancer une entreprise
 
Rapport comment lancer une entreprise
Rapport comment lancer une entrepriseRapport comment lancer une entreprise
Rapport comment lancer une entreprise
 
Présentation open bravo
Présentation open bravoPrésentation open bravo
Présentation open bravo
 
Sauvegardes de base de données
Sauvegardes de base de donnéesSauvegardes de base de données
Sauvegardes de base de données
 
Concepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupérationConcepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupération
 
Sécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFISécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFI
 
Programmation shell
Programmation shellProgrammation shell
Programmation shell
 

Dernier

Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
TimogoTRAORE
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
MahouwetinJacquesGBO
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
kamouzou878
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 

Dernier (11)

Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 

Rapport tp3 j2ee

  • 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 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 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 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 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 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 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 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 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 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 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 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 TROISIEME RAPPORT EN JAVA EE Lecture des attributs
  • 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.