SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
DEUXIEME RAPPORT EN JAVA EE 
 Suivi de Session 
 L’objet HTTPSession 
 Définition 
 Fonctionnement d’une session 
 Méthode utilisées 
 Cycle de vie d’une session 
 Travaux Pratique 
Encadré Par : 
M Mohamed NAYA 
Préparé par 
Soukaina NAJIHI 
Soukaina BOUJADI 
d’une session 
ratique 
:
2 
2 
2 DEUXIEME RAPPORT EN JAVA EE 
Sommaire : 
Remerciements..………………………………………………………..….……4 
Suivi de session………..……………………….…………………………...…...5 
L’objet HTTPSession……………………….……………………………..…...5 
Définition d’une session……………………….…………………………..…...5 
Fonctionnement d’une session………………….………………………...…...5 
Méthode utilisées……………………….……………………………………...6 
Cycle de vie d’une session……………………….………………………..…...6 
Travaux Pratique……………………….…………………………….…..…...7 
Suivi de session pour un compteur dynamique……..........….…..……..…7 
Suivi de session pour un compteur statique……..........….………….……10 
Récapitulations …………………………………………………….…...……12
3 
3 
3 DEUXIEME 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 DEUXIEME RAPPORT EN JAVA 
EE 
Le protocole HTTP est un protocole non connecté (on parle aussi de 
protocole sans états, en anglais stateless protocol 
requête est traité indépendamment des autres et qu'aucun historique des 
différentes requêtes n'est conservé. 
Ainsi le serveur web ne peut pas se « souvenir » de la requête précédente, 
ce qui est dommageable dans des utilisat 
lequel le serveur doit mémoriser les achats de l'utilisateur sur les différentes 
pages. Il s'agit donc de maintenir la cohésion entre l'utilisateur et la requête, 
c'est-à-dire reconnaître les requêtes provenant 
du même utilisateur, associer un profil à l'utilisateur, connaître les 
paramètres de l'application (nombre de produits vendus, ...). On appelle ce 
mécanisme de gestion des états le « suivi de session » (en anglais session 
tracking). 
Le protocole http en bref 
 Le protocole HTTP est un protocole sans 
le serveur ignore qu'une s 
provient d'un m 
 En mode HTTP, pour le serveur, 2 requ 
successives d'un m 
 Le serveur 
En effet une adresse IP n'est pas suffisante pour 
identifier un utilisateur 
e protocol), cela signifie que chaque 
utilisations telles que le e-commerce, pour 
: 
séquence de requ 
même client . 
requêtes 
même client sont indépendantes 
HTTP voit les requêtes, pas les clients. 
4 
4 
), état => 
quence requêtes 
tes 
pendantes . 
tes,
5 
5 
5 DEUXIEME RAPPORT EN JAVA EE 
L'objet HttpSession 
L'objet HttpSession permet de mémoriser les données de l'utilisateur, grâce à 
une structure similaire à une table de hachage, permettant de relier chaque id 
de session à l'ensemble des informations relatives à l'utilisateur. Ainsi en 
utilisant un mécanisme tel que les cookies, permettant d'associer une requête à 
un id, et l'objet HttpSession, permettant de relier des informations relatives à 
l'utilisateur à un id, il est possible d'associer facilement une requête aux 
informations de session ! 
Definition d’une session 
• Une session = Une suite d’interactions entre un client et 
Un serveur Web 
– Elle couvre plusieurs requêtes HTTP sur une période donnée 
• On peut utiliser les sessions pour 
– Mémoriser les actions d’un utilisateur unique 
– Exemples 
• achats en ligne (panier de commande) 
• examens à distance 
Fonctionnement d’une session 
 A la première requête vers une application web : 
 Un objet HttpSession est créé. 
 Ainsi qu’un identifiant unique pour cet objet. 
 L’identifiant est en général sauvegardé par un cookie appelé 
JSESSIONID 
seul l’identifiant de session est envoyé au client. 
 Grâce à cet identifiant, le serveur détermine l’objet session 
correspondant à la requête courante. 
 A toute nouvelle requête émise par l’utilisateur, le cookie est transmis 
via le serveur web et accédé par la méthode :
6 DEUXIEME RAPPORT EN JAVA 
EE 
public String HttpSession.getId() 
Méthodes utilisées 
API de suivi de session HttpSession 
 Méthodes de création liées à la requête (HttpServletRequest) 
 HttpSession getSession() : retourne la session associée à l’utilisateur 
 HttpSession getSession(boolean p) : création selon la valeur de p 
 Gestion d’association (HttpSession) 
 Enumeration getAttributNames() : retourne les noms de tous les 
attributs 
 Object getAttribut(String name) : retourne l’objet associé au nom 
 setAttribut(String na, Object va) : modifie na par la valeur va 
 removeAttribut(String na) : supprime l’attribut associé à 
 Destruction (HttpSession) 
 invalidate() : expire la session 
 logout() : termine la session 
getAttribut("nom") renvoie un objet de type Object, qu’il 
faut donc caster. 
Cycle de vie d’une session 
 A sa création, une période de temps est affectée à 
la session. 
 Elle expire automatiquement à la fin de cette période (par défaut 30mns 
avec Tomcat). 
 Elle peut être invalidée explicitement par la servlet 
(HttpSession.invalidate()). Permet de fermer une session. 
 A l’expiration (invalidation), les données de 
l’objet session 
(HttpSession) sont retournées au moteur de servlets. 
 Les sessions ne sont donc pas invalidées à la fermeture du navigateur. 
6 
6 
na
7 
7 
7 DEUXIEME RAPPORT EN JAVA EE 
Travaux Pratique : 
1- Suivi de session pour un compteur dynamique 
Dans cet exemple, nous allons savoir comment nous pouvons realiser un 
programme qui gardera la trace combien de fois la servlet a été consultée. 
Pour rédiger ce programme tout d'abord nous devons créer une classe 
CounterServlet . Le nom de la classe doit suivre la convention de 
nommage. N'oubliez pas de garder le nom de la classe de telle sorte qu'il 
devient facile de comprendre ce que le programme va faire juste en 
voyant le nom de la classe. Après avoir fait une classe définit un 
compteur de variable qui va garder une trace de combien de fois le servlet 
a été consultée. Maintenant, utilisez la méthode soit doGet () ou doPost () 
pour écrire une logique du programme. Notre logique du programme est 
simple. Nous devons tout simplement incrémenter la valeur du compteur 
de 1. Pour afficher la sortie utiliser la méthode de l'objet de la réponse qui 
sera à son tour renvoyer l'objet de la classe PrintWrite méthode getWriter 
(). Maintenant, afficher la valeur du compteur. 
Le code du programme est donné ci-dessous: 
import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
@WebServlet(urlPatterns = {"/CounterServlet"}) 
public class CounterServlet extends HttpServlet { 
int counter = 0; 
public void doGet(HttpServletRequest req, HttpServletResponseres) 
throws ServletException, IOException { 
res.setContentType("text/html"); 
PrintWriter pw = res.getWriter(); 
counter++; 
pw.println(" à present le nombre du compteur est : " + counter); 
} 
}
8 DEUXIEME RAPPORT EN JAVA 
EE 
configuration dans web.xml 
<?xml version="1.0" encoding="UTF 
<web-app 
xmlns:xsi="http://www.w3.org/2001/XMLSchema 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web 
app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web 
id="WebApp_ID" version="2.5"> 
<display-name>CounterServlet</display 
<servlet> 
<servlet-name>CounterServlet</servlet 
<servlet-class>CounterServlet</servlet 
</servlet> 
<servlet-mapping> 
<servlet-name>CounterServlet</servlet 
<url-pattern>/CounterServlet</url 
</servlet-mapping> 
<welcome-file 
<welcome-file>in 
</welcome-file 
</web-app> 
Dans notre cas le fichier web.xml n'est pas créer par 
netbeans et on doit l'ajouter clique droit sur 
l'application '' ApplicationWeb_SousUbuntu'', 
Nouveau , 
Autre / Web, 
StandardDeployementDescriptor(web.xml) 
UTF-8"?> 
XMLSchema-xmlns=" 
web-app_2_5.xsd" 
display-name> 
servlet-name> 
servlet-class> 
servlet-name> 
url-pattern> 
file-list> 
index.jsp</welcome-file> 
file-list> 
8 
8 
-instance" 
web-xsi:
9 
9 
9 DEUXIEME RAPPORT EN JAVA EE 
Apres creation et configuration de web.xml vous pouvez exécuter la servlet .
10 
10 
10 DEUXIEME RAPPORT EN JAVA EE 
2- suivi de session pour un compteur satatique 
Implémenter la méthode doGet pour gérer le suivi de 
session: 
Affiche un compteur qui est incrémenté 
à chaque accès sur cette servlet 
pendant une session.
11 DEUXIEME RAPPORT EN JAVA 
EE 
Cette servlet recupere d'abord l'objet HttpSession associé au client courant. 
En passant true à getSession() , elle demande la reation d'une session si 
nécessaire. LA servlet obtient ensuite un objet Integer lié au nom 
tracker.count. Si cet objet n'existe pas , la servlet 
démarre un nouveau 
compteur .sinon ,elle remplace l'Integer par un nouveau dont 
la valeur a été 
incrémentée de 1 . Enfin , la servlet affiche le compteur courant et toutes les 
paires nom/valeur de la session . 
11 
11
12 
12 
12 DEUXIEME RAPPORT EN JAVA EE 
 Mécanisme très puissant permettant de stocker des objets et non de 
simples chaînes de caractères comme les cookies. 
 Méthode de création (de HttpServletRequest) : 
 HttpSession getSession() : retourne la session associée à 
l’utilisateur. 
 Gestion d’association (de HttpSession) : 
 Enumération getAttributNames() : retourne les noms de tous les 
attributs. 
 Object getAttribut(String name) : retourne l’objet associé au 
nom. 
 setAttribut(String na, Object va) : donne la valeur va à l’attribut 
na. 
 removeAttribut(String na) : supprime l’attribut de nom na. 
 Destruction (de HttpSession) : 
 logout() : termine la session.

Contenu connexe

Tendances

les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
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 - CoursHoracio Gonzalez
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur Khalid EDAIG
 
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 BootDNG Consulting
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbcabderrahim marzouk
 
Introductions Aux Servlets
Introductions Aux ServletsIntroductions Aux Servlets
Introductions Aux ServletsFrançois Charoy
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
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
 
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
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework springAntoine Rey
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentationYassine Badri
 

Tendances (20)

les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
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 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)
 
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
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur
 
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
 
Marzouk une introduction à jdbc
Marzouk une introduction à jdbcMarzouk une introduction à jdbc
Marzouk une introduction à jdbc
 
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
 
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
 
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
 
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...
 
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...
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
 
Marzouk-HTTP-SESSION-JEE
Marzouk-HTTP-SESSION-JEEMarzouk-HTTP-SESSION-JEE
Marzouk-HTTP-SESSION-JEE
 
Jsp
JspJsp
Jsp
 

En vedette

Aao tract internet. janv juin 2013
Aao tract internet. janv juin 2013Aao tract internet. janv juin 2013
Aao tract internet. janv juin 2013Bâle Région Mag
 
PresentacióEc2g
PresentacióEc2gPresentacióEc2g
PresentacióEc2gaalvarez414
 
Coopération Barreur Equipier - Etude de cas
Coopération Barreur Equipier - Etude de casCoopération Barreur Equipier - Etude de cas
Coopération Barreur Equipier - Etude de casCREPS de Montpellier
 
PresentacióN Arq En Red Mirador
PresentacióN Arq En Red MiradorPresentacióN Arq En Red Mirador
PresentacióN Arq En Red Miradordomdela
 
Que déléguer à son assistant virtuel, quand on est E-commerçant !
Que déléguer à son assistant virtuel, quand on est E-commerçant !Que déléguer à son assistant virtuel, quand on est E-commerçant !
Que déléguer à son assistant virtuel, quand on est E-commerçant !Smartelia
 
[DevoxxFr] Les bronzés font du dev
[DevoxxFr] Les bronzés font du dev[DevoxxFr] Les bronzés font du dev
[DevoxxFr] Les bronzés font du devElleneDijoux
 
Las claves para un negocio sostenible
Las claves para un negocio sostenibleLas claves para un negocio sostenible
Las claves para un negocio sostenibleHosteltur
 
Jazz festival Billets gratuits
Jazz festival Billets gratuitsJazz festival Billets gratuits
Jazz festival Billets gratuitsBâle Région Mag
 
9eme edition de l observatoire de l e-pub
9eme edition de l observatoire de l e-pub9eme edition de l observatoire de l e-pub
9eme edition de l observatoire de l e-pubValerie Gagliano
 
Libertad y responsabilidad de información
Libertad y responsabilidad de informaciónLibertad y responsabilidad de información
Libertad y responsabilidad de informaciónEspacio Público
 
18 vem6 quoi de neuf dans mes adwords
18 vem6 quoi de neuf dans mes adwords18 vem6 quoi de neuf dans mes adwords
18 vem6 quoi de neuf dans mes adwordsSalon e-tourisme #VeM
 
Cryptovirology - Basics
Cryptovirology - BasicsCryptovirology - Basics
Cryptovirology - BasicsReda Boucid
 
Resistencia Emi Tecnologia[1]
Resistencia Emi Tecnologia[1]Resistencia Emi Tecnologia[1]
Resistencia Emi Tecnologia[1]tota007
 

En vedette (20)

Prog commune
Prog communeProg commune
Prog commune
 
Aao tract internet. janv juin 2013
Aao tract internet. janv juin 2013Aao tract internet. janv juin 2013
Aao tract internet. janv juin 2013
 
PresentacióEc2g
PresentacióEc2gPresentacióEc2g
PresentacióEc2g
 
Coopération Barreur Equipier - Etude de cas
Coopération Barreur Equipier - Etude de casCoopération Barreur Equipier - Etude de cas
Coopération Barreur Equipier - Etude de cas
 
PresentacióN Arq En Red Mirador
PresentacióN Arq En Red MiradorPresentacióN Arq En Red Mirador
PresentacióN Arq En Red Mirador
 
Que déléguer à son assistant virtuel, quand on est E-commerçant !
Que déléguer à son assistant virtuel, quand on est E-commerçant !Que déléguer à son assistant virtuel, quand on est E-commerçant !
Que déléguer à son assistant virtuel, quand on est E-commerçant !
 
Panorámica de los recursos de la biblioteca cursos especialización en derecho
Panorámica de los recursos de la biblioteca cursos especialización en derechoPanorámica de los recursos de la biblioteca cursos especialización en derecho
Panorámica de los recursos de la biblioteca cursos especialización en derecho
 
El Trabajo
El TrabajoEl Trabajo
El Trabajo
 
Tecnología China
Tecnología ChinaTecnología China
Tecnología China
 
Histoire et construction
Histoire et constructionHistoire et construction
Histoire et construction
 
[DevoxxFr] Les bronzés font du dev
[DevoxxFr] Les bronzés font du dev[DevoxxFr] Les bronzés font du dev
[DevoxxFr] Les bronzés font du dev
 
Las claves para un negocio sostenible
Las claves para un negocio sostenibleLas claves para un negocio sostenible
Las claves para un negocio sostenible
 
Carnaval de venise 2007 mail n° 13
Carnaval de venise 2007 mail n° 13Carnaval de venise 2007 mail n° 13
Carnaval de venise 2007 mail n° 13
 
Jazz festival Billets gratuits
Jazz festival Billets gratuitsJazz festival Billets gratuits
Jazz festival Billets gratuits
 
9eme edition de l observatoire de l e-pub
9eme edition de l observatoire de l e-pub9eme edition de l observatoire de l e-pub
9eme edition de l observatoire de l e-pub
 
Libertad y responsabilidad de información
Libertad y responsabilidad de informaciónLibertad y responsabilidad de información
Libertad y responsabilidad de información
 
18 vem6 quoi de neuf dans mes adwords
18 vem6 quoi de neuf dans mes adwords18 vem6 quoi de neuf dans mes adwords
18 vem6 quoi de neuf dans mes adwords
 
Escuchame
EscuchameEscuchame
Escuchame
 
Cryptovirology - Basics
Cryptovirology - BasicsCryptovirology - Basics
Cryptovirology - Basics
 
Resistencia Emi Tecnologia[1]
Resistencia Emi Tecnologia[1]Resistencia Emi Tecnologia[1]
Resistencia Emi Tecnologia[1]
 

Similaire à Rapport tp2 j2ee

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfRAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfSouf212
 
173544 introduction-aux-sockets
173544 introduction-aux-sockets173544 introduction-aux-sockets
173544 introduction-aux-socketsnaimanaima1
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_threadSaber LAJILI
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologiesSébastien Letélié
 
CocoaHeads Rennes #10 : Mock Objects
CocoaHeads Rennes #10 : Mock ObjectsCocoaHeads Rennes #10 : Mock Objects
CocoaHeads Rennes #10 : Mock ObjectsCocoaHeadsRNS
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorArthurMaroulier
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
#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 CodeIgniterAtsé François-Xavier KOBON
 
Aspnetcore introduction
Aspnetcore introductionAspnetcore introduction
Aspnetcore introductionMichel Bruchet
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 

Similaire à Rapport tp2 j2ee (20)

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfRAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
 
Atelier gwt
Atelier gwtAtelier gwt
Atelier gwt
 
Introduction aux-sockets
Introduction aux-socketsIntroduction aux-sockets
Introduction aux-sockets
 
173544 introduction-aux-sockets
173544 introduction-aux-sockets173544 introduction-aux-sockets
173544 introduction-aux-sockets
 
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
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Advanced html5
Advanced html5Advanced html5
Advanced html5
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_thread
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologies
 
CocoaHeads Rennes #10 : Mock Objects
CocoaHeads Rennes #10 : Mock ObjectsCocoaHeads Rennes #10 : Mock Objects
CocoaHeads Rennes #10 : Mock Objects
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme Meteor
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
#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
 
Aspnetcore introduction
Aspnetcore introductionAspnetcore introduction
Aspnetcore introduction
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 

Plus de Soukaina Boujadi

Rapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXRapport des Travaux Pratiques UNIX
Rapport des Travaux Pratiques UNIXSoukaina Boujadi
 
Composants hardware du mainframe
Composants hardware du mainframeComposants hardware du mainframe
Composants hardware du mainframeSoukaina 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 reportsSoukaina Boujadi
 
Comment lancer une entreprise
Comment lancer une entrepriseComment lancer une entreprise
Comment lancer une entrepriseSoukaina Boujadi
 
Rapport comment lancer une entreprise
Rapport comment lancer une entrepriseRapport comment lancer une entreprise
Rapport comment lancer une entrepriseSoukaina Boujadi
 
Sauvegardes de base de données
Sauvegardes de base de donnéesSauvegardes de base de données
Sauvegardes de base de donnéesSoukaina 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érationSoukaina 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 WIFISoukaina 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

Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 

Dernier (20)

Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 

Rapport tp2 j2ee

  • 1. DEUXIEME RAPPORT EN JAVA EE  Suivi de Session  L’objet HTTPSession  Définition  Fonctionnement d’une session  Méthode utilisées  Cycle de vie d’une session  Travaux Pratique Encadré Par : M Mohamed NAYA Préparé par Soukaina NAJIHI Soukaina BOUJADI d’une session ratique :
  • 2. 2 2 2 DEUXIEME RAPPORT EN JAVA EE Sommaire : Remerciements..………………………………………………………..….……4 Suivi de session………..……………………….…………………………...…...5 L’objet HTTPSession……………………….……………………………..…...5 Définition d’une session……………………….…………………………..…...5 Fonctionnement d’une session………………….………………………...…...5 Méthode utilisées……………………….……………………………………...6 Cycle de vie d’une session……………………….………………………..…...6 Travaux Pratique……………………….…………………………….…..…...7 Suivi de session pour un compteur dynamique……..........….…..……..…7 Suivi de session pour un compteur statique……..........….………….……10 Récapitulations …………………………………………………….…...……12
  • 3. 3 3 3 DEUXIEME 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 DEUXIEME RAPPORT EN JAVA EE Le protocole HTTP est un protocole non connecté (on parle aussi de protocole sans états, en anglais stateless protocol requête est traité indépendamment des autres et qu'aucun historique des différentes requêtes n'est conservé. Ainsi le serveur web ne peut pas se « souvenir » de la requête précédente, ce qui est dommageable dans des utilisat lequel le serveur doit mémoriser les achats de l'utilisateur sur les différentes pages. Il s'agit donc de maintenir la cohésion entre l'utilisateur et la requête, c'est-à-dire reconnaître les requêtes provenant du même utilisateur, associer un profil à l'utilisateur, connaître les paramètres de l'application (nombre de produits vendus, ...). On appelle ce mécanisme de gestion des états le « suivi de session » (en anglais session tracking). Le protocole http en bref  Le protocole HTTP est un protocole sans le serveur ignore qu'une s provient d'un m  En mode HTTP, pour le serveur, 2 requ successives d'un m  Le serveur En effet une adresse IP n'est pas suffisante pour identifier un utilisateur e protocol), cela signifie que chaque utilisations telles que le e-commerce, pour : séquence de requ même client . requêtes même client sont indépendantes HTTP voit les requêtes, pas les clients. 4 4 ), état => quence requêtes tes pendantes . tes,
  • 5. 5 5 5 DEUXIEME RAPPORT EN JAVA EE L'objet HttpSession L'objet HttpSession permet de mémoriser les données de l'utilisateur, grâce à une structure similaire à une table de hachage, permettant de relier chaque id de session à l'ensemble des informations relatives à l'utilisateur. Ainsi en utilisant un mécanisme tel que les cookies, permettant d'associer une requête à un id, et l'objet HttpSession, permettant de relier des informations relatives à l'utilisateur à un id, il est possible d'associer facilement une requête aux informations de session ! Definition d’une session • Une session = Une suite d’interactions entre un client et Un serveur Web – Elle couvre plusieurs requêtes HTTP sur une période donnée • On peut utiliser les sessions pour – Mémoriser les actions d’un utilisateur unique – Exemples • achats en ligne (panier de commande) • examens à distance Fonctionnement d’une session  A la première requête vers une application web :  Un objet HttpSession est créé.  Ainsi qu’un identifiant unique pour cet objet.  L’identifiant est en général sauvegardé par un cookie appelé JSESSIONID seul l’identifiant de session est envoyé au client.  Grâce à cet identifiant, le serveur détermine l’objet session correspondant à la requête courante.  A toute nouvelle requête émise par l’utilisateur, le cookie est transmis via le serveur web et accédé par la méthode :
  • 6. 6 DEUXIEME RAPPORT EN JAVA EE public String HttpSession.getId() Méthodes utilisées API de suivi de session HttpSession  Méthodes de création liées à la requête (HttpServletRequest)  HttpSession getSession() : retourne la session associée à l’utilisateur  HttpSession getSession(boolean p) : création selon la valeur de p  Gestion d’association (HttpSession)  Enumeration getAttributNames() : retourne les noms de tous les attributs  Object getAttribut(String name) : retourne l’objet associé au nom  setAttribut(String na, Object va) : modifie na par la valeur va  removeAttribut(String na) : supprime l’attribut associé à  Destruction (HttpSession)  invalidate() : expire la session  logout() : termine la session getAttribut("nom") renvoie un objet de type Object, qu’il faut donc caster. Cycle de vie d’une session  A sa création, une période de temps est affectée à la session.  Elle expire automatiquement à la fin de cette période (par défaut 30mns avec Tomcat).  Elle peut être invalidée explicitement par la servlet (HttpSession.invalidate()). Permet de fermer une session.  A l’expiration (invalidation), les données de l’objet session (HttpSession) sont retournées au moteur de servlets.  Les sessions ne sont donc pas invalidées à la fermeture du navigateur. 6 6 na
  • 7. 7 7 7 DEUXIEME RAPPORT EN JAVA EE Travaux Pratique : 1- Suivi de session pour un compteur dynamique Dans cet exemple, nous allons savoir comment nous pouvons realiser un programme qui gardera la trace combien de fois la servlet a été consultée. Pour rédiger ce programme tout d'abord nous devons créer une classe CounterServlet . Le nom de la classe doit suivre la convention de nommage. N'oubliez pas de garder le nom de la classe de telle sorte qu'il devient facile de comprendre ce que le programme va faire juste en voyant le nom de la classe. Après avoir fait une classe définit un compteur de variable qui va garder une trace de combien de fois le servlet a été consultée. Maintenant, utilisez la méthode soit doGet () ou doPost () pour écrire une logique du programme. Notre logique du programme est simple. Nous devons tout simplement incrémenter la valeur du compteur de 1. Pour afficher la sortie utiliser la méthode de l'objet de la réponse qui sera à son tour renvoyer l'objet de la classe PrintWrite méthode getWriter (). Maintenant, afficher la valeur du compteur. Le code du programme est donné ci-dessous: import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns = {"/CounterServlet"}) public class CounterServlet extends HttpServlet { int counter = 0; public void doGet(HttpServletRequest req, HttpServletResponseres) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter pw = res.getWriter(); counter++; pw.println(" à present le nombre du compteur est : " + counter); } }
  • 8. 8 DEUXIEME RAPPORT EN JAVA EE configuration dans web.xml <?xml version="1.0" encoding="UTF <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web id="WebApp_ID" version="2.5"> <display-name>CounterServlet</display <servlet> <servlet-name>CounterServlet</servlet <servlet-class>CounterServlet</servlet </servlet> <servlet-mapping> <servlet-name>CounterServlet</servlet <url-pattern>/CounterServlet</url </servlet-mapping> <welcome-file <welcome-file>in </welcome-file </web-app> Dans notre cas le fichier web.xml n'est pas créer par netbeans et on doit l'ajouter clique droit sur l'application '' ApplicationWeb_SousUbuntu'', Nouveau , Autre / Web, StandardDeployementDescriptor(web.xml) UTF-8"?> XMLSchema-xmlns=" web-app_2_5.xsd" display-name> servlet-name> servlet-class> servlet-name> url-pattern> file-list> index.jsp</welcome-file> file-list> 8 8 -instance" web-xsi:
  • 9. 9 9 9 DEUXIEME RAPPORT EN JAVA EE Apres creation et configuration de web.xml vous pouvez exécuter la servlet .
  • 10. 10 10 10 DEUXIEME RAPPORT EN JAVA EE 2- suivi de session pour un compteur satatique Implémenter la méthode doGet pour gérer le suivi de session: Affiche un compteur qui est incrémenté à chaque accès sur cette servlet pendant une session.
  • 11. 11 DEUXIEME RAPPORT EN JAVA EE Cette servlet recupere d'abord l'objet HttpSession associé au client courant. En passant true à getSession() , elle demande la reation d'une session si nécessaire. LA servlet obtient ensuite un objet Integer lié au nom tracker.count. Si cet objet n'existe pas , la servlet démarre un nouveau compteur .sinon ,elle remplace l'Integer par un nouveau dont la valeur a été incrémentée de 1 . Enfin , la servlet affiche le compteur courant et toutes les paires nom/valeur de la session . 11 11
  • 12. 12 12 12 DEUXIEME RAPPORT EN JAVA EE  Mécanisme très puissant permettant de stocker des objets et non de simples chaînes de caractères comme les cookies.  Méthode de création (de HttpServletRequest) :  HttpSession getSession() : retourne la session associée à l’utilisateur.  Gestion d’association (de HttpSession) :  Enumération getAttributNames() : retourne les noms de tous les attributs.  Object getAttribut(String name) : retourne l’objet associé au nom.  setAttribut(String na, Object va) : donne la valeur va à l’attribut na.  removeAttribut(String na) : supprime l’attribut de nom na.  Destruction (de HttpSession) :  logout() : termine la session.