Vous êtes sur la page 1sur 9

J2EE 

:
Historique d’architecture :
Web1(server centric) le serveur fait tout.
Web2(client/serveur 2tiers) le serveur fait le traitement le
client est lourd(données et présentation)
Web3(client/navigateur/serveur 3tiers) le client léger
serveur traitement et données (3tiers =>statique et
dynamique)
I) Chap. 1 : introduction (web dynamique et web statique)

 Comprendre comment les Browser communiquent avec les


serveurs Web
 Comprendre les bases du protocole http

L’utilisateur saisie une url (Uniform ressources Locator) dans Le


navigateur (partie visible de la technologies), le navigateur communique
avec le serveur web via des requêtes http(hyper text transfer protocole)
les requêtes ont une entête un body et des
méthodes(get/post/put/delete) , le serveur web répond a ses requêtes
par des réponses http (content type, cache control, date d’expiration)
Remarque  : get est plus utilisés pour la journalisation
 Comprendre le contenu statique vs le contenu Dynamique
le serveur web gère que du web statique, c’est e serveur d’application
qui s’occupe du coté dynamique.
Ce serveur exécute un programme (script : CGI /SERVLET/ASP).
Une app web fonctionne ainsi
Collecte de données (par formulaire html ou des aplets java)
Envoie d’une requête http vers le serveur web (get extraction ou post
modification)
Exécution du script (identification de l’environnement (mapping) et
chargement de l’environnement)
Retour du résultat (script : détermine le contenu et intègre la réponse en
un flot de sortie, navigateur : affiche le résultat)
Remarque  : Un CGI (Common Gateway interface) un programme C (difficile à
développer) qui s’exécute coter serveur (chaque requête lance un processus) ce
qui rend les réponses lentes d’où l’utilisation des servlet java.

II) Chap. 2 : servlet

 Comprendre les avantages de la programmation avec les


servlets
Le servlet fait partie du standard J2EE elle utilisé coté serveur et présente
plusieurs avantages (efficace : multithreads, pas de temps de lancement,
pratique : des api, puissantes : gestion de session, échange via URI
supporté par tous les serveurs, portables)
Le seul point faible est la limitation en terme d’interface graphique
(html)

 Les concepts de Base


L’invocation de la servlet se fait dans l’URL où il un aura URI (invocateur
de ressources) qui contient le nom de la servlet, le http analyse l’url trouve URI
le transmet au SA(moteur de servlet), le SA localise la servlet et appelle la
méthode service.
Exemple :http://localhost:8080/servlet/ServletBonjour
URI

 Etre capable de coder des Servlets


Pour programmer une servlet il faut inclure les packages :
javax.servlet, javax.servlet.http et java.io
la servlet implémente une interface javax.servlet.Servlet souvent on utilise une
classe déjà implémentant cette interface tel que HTTPservlet
Au lieu de la méthodes service on peut utiliser les méthodes doGet et doPost
spécifique au HTTPservlet.
Ces méthodes prennent 2 paramètres HTTPServletRequet et
HTTPServletResponse pour pouvoir lire des demandes et fournir des réponses.
La classe HTTPServletResponse grâce ces méthodes permet de répondre un
client ( getWriter() = du contenu setContentType(type)= type du contenue
sendRedirect(URL)= redirection)
La classe HTTPServletResquest grâce à ces méthodes permet de lire les
requêtes du client ( getParmeterNames()= retourne les paramètres,
getParmaterValues()= la valeur des paramètre, getParametre(string name)=
un paramètre spécifique, getReader()=lire de l’input).
Remarque le Rôle de servlet  : la servlet ne doit pas retourne du html et faire du
traitement métier elle doit faire un contrôle de données un catch d’exception et
l’appel l’objet métier.
Pour cela on utilise les vues ou JSP
III) Chap.  3: JSP

 Introduire la notion de JSP


Une jsp (java server page) est servlet qui permet le Scripting coté serveur
une jsp contient du html et du code pour la dynamité, la jsp est convertie
lors de son appel en jsp_servlet (compilation) et la méthode service est
exécuté

 La syntaxe JSP
- La directive utilisé pour changement de variable global tel que le
langage ou la class… elle est très peu utilisé <% @ variable= ‘valeur’>
- Les scriptlets c’est du script java <% java code %>
- Les expressions retourne le valeur en string <%=expression %>
- Les uses beans

 Exemples de JSP

Cette jsp est pollué il y a trop de code !!


 Utilisation Conjointe avec les Servlets
Comme pour la servlet la jsp fait face à un problème de caching (la requête est
sauvegardée dans la mémoire du navigateur, chez le client ou dans un proxy
d’où le blocage du contenu dynamique)
Pour remédier a ce problème il suffit d’ajouter les méta suivants :

La jsp est aussi une servlet elle s’exécute dans un SA.


On peut distinguer entre deux types d’url : une url à chemin absolue (utilisé si
on change de serveur) et un url à chemin relative lorsque on est dans la même
web app.
 Appel d’un page statique : response.sendRedirect(URL relative ou
Absolue d’une page statique ou dynamique) p
problème Perte de la requête/réponse d’origine solution =>
 getServletContext().getRequestDispatcher(« URL»).forward(requ
est,response)

 request.setAttribute(String clef,Object o ): sauvegarde d’un objet


 request.getAttribute(String clef): lecture d’un objet
Modèle MVC

Remarque  : Les beans contiennent des informations complémentaires à la


requête.

IV) Chap.4 : les sessions

 Comprendre la notion de Session


Le serveur http étant sans état (sans mémoire), les
développeurs ont créé la notion de session qui introduit des
états.
 La programmation des Sessions
HttpSession maSession = request.getSession()
1er cas : la session est créée avec true (elle n’existe pas elle est donc
créée pour la première fois) cette requête créé une cookie (couple de
valeur (ID session, value) qui transite entre le navigateur et le serveur)
sert d’identifiant de session.
Dans le cas où on bloque les cookies la solution est de les concaténé dans
l’url (url longues).
Si la requête est mise à false, s’il trouve la session il retourne son numéro
sinon il revoie du null.
2eme cas : la session crée sans paramètre, si la session existe retourne la
session sinon crée une session vide.

 Utilisations de Sessions avec les Servlets


maSession.setAttribute(String cle, Object o) : ajouter un attribut
Object o = maSession.getAttribute(String cle) :lire un attribut

Remarque  : la session est détruite lorsque la time-out s’expire (gérer par


l’admin) ou si la cookie est perdue ou bien explicitement
maSession.invalidate()

Vous aimerez peut-être aussi