SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
1
Développement WEB avec Java
JSP/ Servlet /javaBean
Fonctionnement du Web
2
3
4
Construction d'une application Web
Préparer une arborescence par exemple dans le répertoire SiteWebTP. A partir de la racine de
cette arborescence placer correctement :
 le répertoire WEB-INF
 le répertoire classes où seront placées les servlets compilés
 le fichier web.xml
5
Le déploiement est une étape essentielle de la mise en place d’une application web. En effet,
le serveur doit être capable de localiser les servlets et les JSP invoquées par le navigateur.
6
7
8
9
Application JSP/Servlet
Lorsque l'utilisateur soumet ce formulaire, son nom est envoyé au servlet Hello parce nous
avons mis l'attribut ACTION pointer vers le servlet. Le formulaire utilise la méthode Get,
de sorte que toutes les données sont ajoutées (appended) à la requête URL comme une requête
de chaîne.
Par exemple, si l'utilisateur entre le nom "Inigo Montoya," la requête URL est
http: //serveur: 8080 / servlet / Hello ? name = Inigo +Montoya .
10
L'espace dans le nom est spécialement codé comme un signe plus par le navigateur (browser),
car les URL ne peuvent pas contenir d'espaces
Une servlet qui sait à qui dit Hello
La méthode getServletInfo( ) donne des informations descriptives sur le servlet.
11
JSP
Traducteur sous forme Servlet (méthode Get)
Import java.io.* ;
Import javax.servlet.* ;
Import javax.servlet.http.* ;
public class traduire extends HttpServlet(
// traiter la requête avec doGet( )
Public void doGet (HttpServletRequest req, HttpServletResponse rep)
Throws IOException, ServletException(
12
//Initialisation du type de la réponse
rep.setContentType (text/html)
// Ouverture du flux de la réponse http
PrintWriter pw=rep.getWriter ( ) ;
// Envoyer le code HTML sur le flux http
pw.println (<html>) ;
pw.println (<head>) ;
pw.println (<title>Une servlet pour traduire </title> ) ;
pw.println (</head>) ;
pw.println (<body bgcolor=’white’>) ;
// Vérifier si une phrase est transmise avec la requête
If (req.getParameter (phrase) == null) {
pw.println (<font size=+1>) ;
pw.println (Je n’ai pas de phrase à traduire</font>) ;
}
else {
//traiter la phrase fournie en paramètre
String phrase = req.getParameter (phrase) ;
phrase = phrase.replace (‘a’,’*’) ;
phrase = phrase.replace (‘o’,’ !’) ;
phrase = phrase.replace (‘e’,’%’) ;
}
pw.println (</body>) ;
pw.println (</html>) ;
}
}
Traducteur sous la forme d’un JSP
<html>
<head>
<title> Un JSP pour traduire une phrase </title>
</head>
13
<%--debut de scriplet --%>
<%
<%--rechercher le paramètre phrase transmis avec la requête --%>
String p= request.getParameter (phrase) ;
if (p !=null) {
<%-- si p ne vaut pas null, un paramètre est transmis le traiter --%>
p = p.replace (‘a’,’*’) ;
p = p.replace (‘o’,’ !’) ;
p = p.replace (‘e’,’%’) ;
%>
<%-- fin du if, affichage à l’aide de balises HTML --%>
<%-- affichage du contenu de p --%>
<p> J’ai compris : <%=p%> </p>
<%-- debut du else --%>
<%-- si il n’y a pas de paramètre transmis p vaut null --%>
} else {
%>
<%-- affichage à l’aide de balises HTML --%>
<p> Erreur : vous avez oublié la phrase à traduire <BR>
Exemple : http://localhost:8080/jsp/traduire.jsp?phrase=cours JSP LST IGI </p>
<%-- fin de else, fin de la scriplet --%>
<%
}
14
%>
</body>
</html>
Traducteur avec javaBean
// Un javabean doit être sérialisable pour être envoyer sur un flux
Import java.io.Serializable
public class phrase implements java.io.Serializable (
// Définition de la propriété de javaBean
private string phrase ;
// Définition de la méthode d’accès à la propriété, en modification
// Cette méthode remplace les caractères de la propriété de l’objet
Public void setphrase (string p) {
Phrase=p ;
phrase = phrase.replace (‘a’,’*’) ;
phrase = phrase.replace (‘o’,’ !’) ;
phrase = phrase.replace (‘e’,’%’) ;
}
// Définition de la méthode d’accès à la propriété, en consultation
Public void getphrase ( ) {
Return phrase ;
}
}
Un JSP qui appelle le javaBean phrase
<html>
15
<head>
<title> Java Bean pour traduire une phrase </title>
</head>
<body>
<%--Utiliser phrase.class, comme JavaBean avec comme nom d’objet p --%>
<jsp :useBean id=p class= phrase/>
<%--Placer dans la propriété phrase de l’objet p --%>
<%--la valeur du paramètre transmis avec la requête --%>
<jsp :setProperty name=p property= phrase param= param />
<%--récupérer la valeur de la propriété de l’objet p --%>
<BR> J’ai compris : <jsp :getProperty name=p property= phrase />
</body>
</html>
16
Application : Résultat d’une enquête
Le servlet stocke les résultats d’une enquête concernant vos animaux de compagnie préférés
sur le serveur. Lorsqu’un utilisateur répond à l’enquête, le servlet HTTPPostServlet envoie
un document HTML au client qui résume les résultats de l’enquête jusqu’à ce stade.
L’utilisateur choisit son animal préféré dans un bouton radio de la page Web de la figure puis
appuie sur Soumettre. Le navigateur envoie une requête POST en HTTP au servlet; celui-ci
réagit en lisant les résultats précédents de l’enquête dans un fichier sur le serveur, il met les
résultats du sondage à jour, les réinscrit sur le fichier du serveur, et il envoie enfin une page
Web au client qui lui indique les résultats cumulés de l’enquête.
17
18
19
La méthode doPost commence par déterminer si le fichier sondage.txt existe sur le serveur.
La ligne 18 définit un objet File nommé f dans ce but. Le programme ne fournit pas
d’emplacement pour le fichier. Par défaut, les fichiers créés par un servlet exécuté par le
WebServer JSDK sont stockés dans le répertoire d’installation du JSDK (jsdk2.1). Vous
pouvez imposer l’emplacement de stockage du fichier au moment de la création de l’objet
File.
À la ligne 20, si le fichier existe, son contenu est lu par le servlet, de sorte que les résultats du
sondage seront mis à jour et renvoyés au client en cours. Si le fichier n’existe pas, c’est-à-dire
si la requête actuelle est la toute première réponse au sondage, la méthode doPost crée le
fichier un peu plus loin dans le code.
20
Le tableau d’entiers animaux stocke le nombre de réponses pour chaque type d’animal. Si le
fichier qui contient les résultats précédents au sondage existe, alors les lignes 23 à 30 ouvrent
un ObjectInputStream pour lire le tableau d’entiers animaux et totaliser le nombre de
réponses qui ont été reçues jusqu’à cette étape. Lorsque le servlet crée le fichier et stocke le
tableau d’entiers, il utilise un ObjectOutputStream pour écrire le fichier.
La ligne 42 incrémente le total pour indiquer qu’il y a une réponse de plus au sondage.
Les lignes 45 à 47 déterminent l’animal sélectionné par le client et mettent à jour le total de
l’animal adéquat. Les lignes 50 à 55 ouvrent un ObjectOutputStream pour stocker les
résultats mis à jour de l’enquête dans le fichier sondage.txt. Ce fichier garantit que, même si
le servlet est interrompu et redémarré, les résultats du sondage demeurent sur disque.
Les lignes 58 à 61 préparent le pourcentage du total des votes qui représentent chaque animal.
Ces résultats sont renvoyés à l’utilisateur dans une partie de la HttpServletResponse.
Nous préparons la réponse à partir de la ligne 64, où la méthode setContentType de
ServletResponse spécifie que le contenu sera du texte d’un document HTML (text/html).
La ligne 66 utilise la méthode getWriter de ServletResponse pour obtenir une référence à un
objet PrintWriter et affecte celle-ci à sortieReponse. Cette référence sert à envoyer la
réponse au client. Le StringBuffer tamp de la ligne 67 stocke le contenu de la réponse
pendant que le servlet prépare le document HTML. Les lignes 68 à 86 préparent son contenu
par une suite d’appels à la méthode append de StringBuffer.

Weitere ähnliche Inhalte

Was ist angesagt?

Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Heithem Abbes
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Eric Bourdet
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)Heithem Abbes
 

Was ist angesagt? (20)

Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFITheses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce  Basé sur Spring IOC MVC Security JPA HibernateSite JEE de ECommerce  Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 

Andere mochten auch

Théorie de normalisation-base de données
Théorie de normalisation-base de donnéesThéorie de normalisation-base de données
Théorie de normalisation-base de donnéesYassine Badri
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql Yassine Badri
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatiqueYassine Badri
 
base de données -note de cours
base de données -note de cours base de données -note de cours
base de données -note de cours Yassine Badri
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatiqueYassine Badri
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationellesYassine Badri
 
script site e-commerce -php
script site e-commerce -php script site e-commerce -php
script site e-commerce -php Yassine Badri
 
cours base de données
cours base de donnéescours base de données
cours base de donnéesYassine Badri
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du meriseYassine Badri
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Yassine Badri
 
La theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de donnéesLa theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de donnéesYassine Badri
 
Mise en place d'un Data Warehouse
Mise en place d'un Data WarehouseMise en place d'un Data Warehouse
Mise en place d'un Data WarehouseAbderrahmane Filali
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1Yassine Badri
 
Conception datawarehouse
Conception datawarehouseConception datawarehouse
Conception datawarehouseHassane Dkhissi
 

Andere mochten auch (20)

Théorie de normalisation-base de données
Théorie de normalisation-base de donnéesThéorie de normalisation-base de données
Théorie de normalisation-base de données
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatique
 
base de données -note de cours
base de données -note de cours base de données -note de cours
base de données -note de cours
 
Cours php
Cours php Cours php
Cours php
 
les métiers d'informatique
les métiers d'informatiqueles métiers d'informatique
les métiers d'informatique
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationelles
 
script site e-commerce -php
script site e-commerce -php script site e-commerce -php
script site e-commerce -php
 
cours base de données
cours base de donnéescours base de données
cours base de données
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]Java chap 04 surcharge des méthodes [mode de compatibilité]
Java chap 04 surcharge des méthodes [mode de compatibilité]
 
La theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de donnéesLa theorie des dependances et la normalisation des relations-base de données
La theorie des dependances et la normalisation des relations-base de données
 
Mise en place d'un Data Warehouse
Mise en place d'un Data WarehouseMise en place d'un Data Warehouse
Mise en place d'un Data Warehouse
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 
Educational Portal
Educational PortalEducational Portal
Educational Portal
 
Bddwdm
BddwdmBddwdm
Bddwdm
 
Conception datawarehouse
Conception datawarehouseConception datawarehouse
Conception datawarehouse
 

Ähnlich wie cours j2ee -présentation

Introductions Aux Servlets
Introductions Aux ServletsIntroductions Aux Servlets
Introductions Aux ServletsFrançois Charoy
 
Service WEB de type REST avec Java
Service WEB de type REST avec JavaService WEB de type REST avec Java
Service WEB de type REST avec JavaFrancois ANDRE
 
0554-programmation-web-ajax programmation web ajax
0554-programmation-web-ajax programmation web ajax0554-programmation-web-ajax programmation web ajax
0554-programmation-web-ajax programmation web ajaxMarouaneMyyara2
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend FrameworkMickael Perraud
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchronesAbdoulaye Dieng
 
ajqxè_àànndkllllllllllllllllllllllllllllllllllllllllll
ajqxè_àànndkllllllllllllllllllllllllllllllllllllllllllajqxè_àànndkllllllllllllllllllllllllllllllllllllllllll
ajqxè_àànndkllllllllllllllllllllllllllllllllllllllllllElalami8
 
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
 
BordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaBordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaCamblor Frédéric
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer FacesJS Bournival
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Mejdeddine Bouzouita
 
Rest ful architecture
Rest ful architectureRest ful architecture
Rest ful architecturezaghir
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 

Ähnlich wie cours j2ee -présentation (20)

Services rest & jersey
Services rest & jerseyServices rest & jersey
Services rest & jersey
 
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
 
Service WEB de type REST avec Java
Service WEB de type REST avec JavaService WEB de type REST avec Java
Service WEB de type REST avec Java
 
ajax.pdf
ajax.pdfajax.pdf
ajax.pdf
 
0554-programmation-web-ajax programmation web ajax
0554-programmation-web-ajax programmation web ajax0554-programmation-web-ajax programmation web ajax
0554-programmation-web-ajax programmation web ajax
 
Serveur http
Serveur httpServeur http
Serveur http
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend Framework
 
Requêtes HTTP synchrones et asynchrones
Requêtes HTTPsynchrones et asynchronesRequêtes HTTPsynchrones et asynchrones
Requêtes HTTP synchrones et asynchrones
 
Rapport tp3 j2ee
Rapport tp3 j2eeRapport tp3 j2ee
Rapport tp3 j2ee
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
ajqxè_àànndkllllllllllllllllllllllllllllllllllllllllll
ajqxè_àànndkllllllllllllllllllllllllllllllllllllllllllajqxè_àànndkllllllllllllllllllllllllllllllllllllllllll
ajqxè_àànndkllllllllllllllllllllllllllllllllllllllllll
 
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
 
BordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaBordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets Java
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Présentation de JavaServer Faces
Présentation de JavaServer FacesPrésentation de JavaServer Faces
Présentation de JavaServer Faces
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
Rest ful architecture
Rest ful architectureRest ful architecture
Rest ful architecture
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 

Mehr von Yassine Badri

exercices gestion de stock
exercices gestion de stock exercices gestion de stock
exercices gestion de stock Yassine Badri
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock Yassine Badri
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2Yassine Badri
 

Mehr von Yassine Badri (6)

exercices gestion de stock
exercices gestion de stock exercices gestion de stock
exercices gestion de stock
 
Arbre de décision
Arbre de décisionArbre de décision
Arbre de décision
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock
 
Chap 03 poo en java partie2
Chap 03 poo en java partie2Chap 03 poo en java partie2
Chap 03 poo en java partie2
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 

Kürzlich hochgeladen

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 

Kürzlich hochgeladen (13)

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 

cours j2ee -présentation

  • 1. 1 Développement WEB avec Java JSP/ Servlet /javaBean Fonctionnement du Web
  • 2. 2
  • 3. 3
  • 4. 4 Construction d'une application Web Préparer une arborescence par exemple dans le répertoire SiteWebTP. A partir de la racine de cette arborescence placer correctement :  le répertoire WEB-INF  le répertoire classes où seront placées les servlets compilés  le fichier web.xml
  • 5. 5 Le déploiement est une étape essentielle de la mise en place d’une application web. En effet, le serveur doit être capable de localiser les servlets et les JSP invoquées par le navigateur.
  • 6. 6
  • 7. 7
  • 8. 8
  • 9. 9 Application JSP/Servlet Lorsque l'utilisateur soumet ce formulaire, son nom est envoyé au servlet Hello parce nous avons mis l'attribut ACTION pointer vers le servlet. Le formulaire utilise la méthode Get, de sorte que toutes les données sont ajoutées (appended) à la requête URL comme une requête de chaîne. Par exemple, si l'utilisateur entre le nom "Inigo Montoya," la requête URL est http: //serveur: 8080 / servlet / Hello ? name = Inigo +Montoya .
  • 10. 10 L'espace dans le nom est spécialement codé comme un signe plus par le navigateur (browser), car les URL ne peuvent pas contenir d'espaces Une servlet qui sait à qui dit Hello La méthode getServletInfo( ) donne des informations descriptives sur le servlet.
  • 11. 11 JSP Traducteur sous forme Servlet (méthode Get) Import java.io.* ; Import javax.servlet.* ; Import javax.servlet.http.* ; public class traduire extends HttpServlet( // traiter la requête avec doGet( ) Public void doGet (HttpServletRequest req, HttpServletResponse rep) Throws IOException, ServletException(
  • 12. 12 //Initialisation du type de la réponse rep.setContentType (text/html) // Ouverture du flux de la réponse http PrintWriter pw=rep.getWriter ( ) ; // Envoyer le code HTML sur le flux http pw.println (<html>) ; pw.println (<head>) ; pw.println (<title>Une servlet pour traduire </title> ) ; pw.println (</head>) ; pw.println (<body bgcolor=’white’>) ; // Vérifier si une phrase est transmise avec la requête If (req.getParameter (phrase) == null) { pw.println (<font size=+1>) ; pw.println (Je n’ai pas de phrase à traduire</font>) ; } else { //traiter la phrase fournie en paramètre String phrase = req.getParameter (phrase) ; phrase = phrase.replace (‘a’,’*’) ; phrase = phrase.replace (‘o’,’ !’) ; phrase = phrase.replace (‘e’,’%’) ; } pw.println (</body>) ; pw.println (</html>) ; } } Traducteur sous la forme d’un JSP <html> <head> <title> Un JSP pour traduire une phrase </title> </head>
  • 13. 13 <%--debut de scriplet --%> <% <%--rechercher le paramètre phrase transmis avec la requête --%> String p= request.getParameter (phrase) ; if (p !=null) { <%-- si p ne vaut pas null, un paramètre est transmis le traiter --%> p = p.replace (‘a’,’*’) ; p = p.replace (‘o’,’ !’) ; p = p.replace (‘e’,’%’) ; %> <%-- fin du if, affichage à l’aide de balises HTML --%> <%-- affichage du contenu de p --%> <p> J’ai compris : <%=p%> </p> <%-- debut du else --%> <%-- si il n’y a pas de paramètre transmis p vaut null --%> } else { %> <%-- affichage à l’aide de balises HTML --%> <p> Erreur : vous avez oublié la phrase à traduire <BR> Exemple : http://localhost:8080/jsp/traduire.jsp?phrase=cours JSP LST IGI </p> <%-- fin de else, fin de la scriplet --%> <% }
  • 14. 14 %> </body> </html> Traducteur avec javaBean // Un javabean doit être sérialisable pour être envoyer sur un flux Import java.io.Serializable public class phrase implements java.io.Serializable ( // Définition de la propriété de javaBean private string phrase ; // Définition de la méthode d’accès à la propriété, en modification // Cette méthode remplace les caractères de la propriété de l’objet Public void setphrase (string p) { Phrase=p ; phrase = phrase.replace (‘a’,’*’) ; phrase = phrase.replace (‘o’,’ !’) ; phrase = phrase.replace (‘e’,’%’) ; } // Définition de la méthode d’accès à la propriété, en consultation Public void getphrase ( ) { Return phrase ; } } Un JSP qui appelle le javaBean phrase <html>
  • 15. 15 <head> <title> Java Bean pour traduire une phrase </title> </head> <body> <%--Utiliser phrase.class, comme JavaBean avec comme nom d’objet p --%> <jsp :useBean id=p class= phrase/> <%--Placer dans la propriété phrase de l’objet p --%> <%--la valeur du paramètre transmis avec la requête --%> <jsp :setProperty name=p property= phrase param= param /> <%--récupérer la valeur de la propriété de l’objet p --%> <BR> J’ai compris : <jsp :getProperty name=p property= phrase /> </body> </html>
  • 16. 16 Application : Résultat d’une enquête Le servlet stocke les résultats d’une enquête concernant vos animaux de compagnie préférés sur le serveur. Lorsqu’un utilisateur répond à l’enquête, le servlet HTTPPostServlet envoie un document HTML au client qui résume les résultats de l’enquête jusqu’à ce stade. L’utilisateur choisit son animal préféré dans un bouton radio de la page Web de la figure puis appuie sur Soumettre. Le navigateur envoie une requête POST en HTTP au servlet; celui-ci réagit en lisant les résultats précédents de l’enquête dans un fichier sur le serveur, il met les résultats du sondage à jour, les réinscrit sur le fichier du serveur, et il envoie enfin une page Web au client qui lui indique les résultats cumulés de l’enquête.
  • 17. 17
  • 18. 18
  • 19. 19 La méthode doPost commence par déterminer si le fichier sondage.txt existe sur le serveur. La ligne 18 définit un objet File nommé f dans ce but. Le programme ne fournit pas d’emplacement pour le fichier. Par défaut, les fichiers créés par un servlet exécuté par le WebServer JSDK sont stockés dans le répertoire d’installation du JSDK (jsdk2.1). Vous pouvez imposer l’emplacement de stockage du fichier au moment de la création de l’objet File. À la ligne 20, si le fichier existe, son contenu est lu par le servlet, de sorte que les résultats du sondage seront mis à jour et renvoyés au client en cours. Si le fichier n’existe pas, c’est-à-dire si la requête actuelle est la toute première réponse au sondage, la méthode doPost crée le fichier un peu plus loin dans le code.
  • 20. 20 Le tableau d’entiers animaux stocke le nombre de réponses pour chaque type d’animal. Si le fichier qui contient les résultats précédents au sondage existe, alors les lignes 23 à 30 ouvrent un ObjectInputStream pour lire le tableau d’entiers animaux et totaliser le nombre de réponses qui ont été reçues jusqu’à cette étape. Lorsque le servlet crée le fichier et stocke le tableau d’entiers, il utilise un ObjectOutputStream pour écrire le fichier. La ligne 42 incrémente le total pour indiquer qu’il y a une réponse de plus au sondage. Les lignes 45 à 47 déterminent l’animal sélectionné par le client et mettent à jour le total de l’animal adéquat. Les lignes 50 à 55 ouvrent un ObjectOutputStream pour stocker les résultats mis à jour de l’enquête dans le fichier sondage.txt. Ce fichier garantit que, même si le servlet est interrompu et redémarré, les résultats du sondage demeurent sur disque. Les lignes 58 à 61 préparent le pourcentage du total des votes qui représentent chaque animal. Ces résultats sont renvoyés à l’utilisateur dans une partie de la HttpServletResponse. Nous préparons la réponse à partir de la ligne 64, où la méthode setContentType de ServletResponse spécifie que le contenu sera du texte d’un document HTML (text/html). La ligne 66 utilise la méthode getWriter de ServletResponse pour obtenir une référence à un objet PrintWriter et affecte celle-ci à sortieReponse. Cette référence sert à envoyer la réponse au client. Le StringBuffer tamp de la ligne 67 stocke le contenu de la réponse pendant que le servlet prépare le document HTML. Les lignes 68 à 86 préparent son contenu par une suite d’appels à la méthode append de StringBuffer.