Anda di halaman 1dari 70

INF157 - Utilisation des Rseaux

Licence 3 Informatique

Arnaud Pecher (repris par Damien Magoni)


Bureau 322, Btiment A30, LaBRI Universit de Bordeaux

Licence 3 Informatique - Bordeaux

1/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

1 / 70

Cours 3
Le protocole de navigation hypertexte : HTTP

1 2

Principes Le protocole HTTP Syntaxe Echange de donnes Les cookies Le suivi de session Les extensions dHTTP

Bibliographie : M. Baron, Java pour le dveloppement dapplications Web : J2EE, http ://baron.mick.free.fr/ D. Donsez, http ://www-adele.imag.fr/ donsez/cours/ A. Tanenbaum, "Rseaux"
2/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

2 / 70

Plan

Principes Le protocole HTTP Syntaxe Echange de donnes Les cookies Le suivi de session Les extensions dHTTP

3/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

3 / 70

URL
Uniform Resource Locator

Une URL sert dsigner de manire universelle une page. Elle est forme de trois partie : le protocole de transport ; le nom DNS de la machine hbergeant la page ; la page et sa localisation (chemin relatif) sur le serveur. Exemple :
https ://miage.emi.u-bordeaux1.fr/espaceEtudiants/index.php

protocole https : protocole http scuris ; serveur miage.emi.u-bordeaux1.fr ; page index.php situe dans le rpertoire espaceEtudiants.
4/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

4 / 70

URL
Principaux protocoles

HTTP : utilis pour la navigation web ; HTTPS : version scurise ; FTP : File Transfer Protocol - transfert de chiers ; le : chier local ; news : newsgroups ; mailto : envoi de courrier lectronique ; webdav : accs en lecture/criture sur un espace dun serveur web ; ...

5/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

5 / 70

accs : http ://www.u-bordeaux1.fr


Lorsque lon ouvre la page http ://www.u-bordeaux1.fr dans un navigateur web :
1

le navigateur interroge un serveur DNS pour connaitre ladresse IP du serveur www.u-bordeaux1.fr ; le serveur DNS rpond x.x.x.x ; le navigateur initie une connexion TCP sur le port HTTP (80) de la machine x.x.x.x ; il envoie sur la connexion une requte via le protocole HTTP demandant le chier par dfaut : index.html ; le serveur www.u-bordeaux1.fr retourne le chier demand via le protocole HTTP (ex. /var/www/html/index.html) ; la connexion TCP est coupe ; le navigateur afche tout le texte contenu dans la page ; le navigateur rcupre et afche toutes les images.
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO
6/70

2 3

6 7 8

6 / 70

Plan

Principes Le protocole HTTP Syntaxe Echange de donnes Les cookies Le suivi de session Les extensions dHTTP

7/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

7 / 70

HTTP
HyperText Transfer Protocol

HTTP a t conu pour tre employ sur le Web, mais de faon sufsamment gnrique pour tre employ dans un cadre moins restrictif. Lutilisation de TCP comme protocole de transport sous-jacent garantit la abilit de la connexion (rmission des trames perdues, limination des doublons, gestion des acquittements etc ...) avec HTTP 1.0, une seule requte/rception par connexion ; avec HTTP 1.1, gestion des connexions persistantes : plusieurs enchanements requte/rponse possibles, ainsi que envois de requtes en rafale, sans attendre les rponses.

8/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

8 / 70

Exemple de requte HTTP

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

9/70

9 / 70

Dialogue HTTP

Protocole en mode de lignes de caractre la main : telnet miage.u-bordeaux.fr 80 ; Types de dialogue


rcupration dun document : mthode GET ; soumission dun formulaire : mthode GET ou POST ; envoi de document et gestion de site : mthodes PUT, DELETE, LINK, UNLINK ; gestion de proxy/cache : mthode HEAD (rcupration des informations sur le document)

La comprhension du protocole est fondamentale pour la programmation web...


10/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

10 / 70

Entte/Corps dune Requte/Rponse

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

11/70

11 / 70

Syntaxe dune requte

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

12/70

12 / 70

Syntaxe dune rponse

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

13/70

13 / 70

Connexion HTTP la main


Telnet

HTTP tant un protocole texte en ASCII, on peut communiquer de manire "brute", via le programme telnet :
telnet miage.u-bordeaux.fr 80 > log GET /index.htm HTTP/1.1 Host: miage.u-bordeaux.fr close

on initie une connexion TCP sur le port 80 de miage.u-bordeaux.fr ; demande le chier index.html avec la version 1.1 de HTTP ; Host spcie lhte de destination (si plusieurs par adresse IP) ; ligne vide permet dinformer le serveur de la n des enttes ; close permet de mettre n la connexion.
14/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

14 / 70

Connexion HTTP la main


Examen du chier gnr

Entte
Trying 147.210.36.199... Connected to w3bdx1.drimm.u-bordeaux1.fr. Escape character is ^]. GET /index.htm HTTP/1.1 Host: miage.u-bordeaux.fr HTTP/1.1 200 OK Date: Tue, 25 Oct 2005 19:57:48 GMT Server: Apache/1.3.26 (Unix) Debian GNU/Linux mod_fastcgi/2.2.10 PHP /4.1.2 mod_ssl/2.8.9 OpenSSL/0.9.6c mod_perl/1.26 DAV/1.0.3 Last-Modified: Thu, 15 Jul 2004 13:00:58 GMT ETag: "9b003b-263-40f6800a" Accept-Ranges: bytes Content-Length: 611 Content-Type: text/html

15/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

15 / 70

Connexion HTTP la main


Examen du chier gnr

Donnes (code HTML de la page)


<html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www. w3.org/TR/html4/frameset.dtd"> <head> <title> .oO MIAGe de Bordeaux Oo. </title> </head> <frameset rows="99,*" cols="*" frameborder="NO" border="0" framespacing ="0"> <frame src="titre.htm" name="topFrame" scrolling="NO" noresize /> <frameset rows="*" cols="122,*" framespacing="0" frameborder="NO" border="0"> <frame src="menu.htm" name="leftFrame" noresize/> <frame src="http://miage.labri.fr/FRONT/accueil.htm" name=" mainFrame"/> </frameset> </frameset> <noframes><body> </body></noframes> </html>
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

16/70

16 / 70

Exercice : un super serveur web

MonServeurWeb
Ecrire une classe MonServeurWeb qui retourne systmatiquement une mme page HTML xe.

17/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

17 / 70

Solution

18/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

18 / 70

HTTP
Enttes de messages (1)

Paramtres dune requte User-Agent, informations sur le navigateur et sa plateforme ; Accept, le type de pages que le client peut traiter ; Accept-Charset, les jeux de caracttes accepts par le client ; Accept-Encoding, les codage de page accepts par le client ; Host, le nom DNS du serveur ; Authorization, informations sur lidentit du client ; Cookie, retourne un cookie pralablement plac par le serveur. Exercice Ecrire une fonction qui afche le contenu des diffrents paramtres de la requte.
19/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

19 / 70

HTTP
Enttes de messages (2)

Paramtres requte & rponse Date, horodatage du message ; Upgrade, le protocole sur lequel lmetteur veut basculer ; Paramtres dune rponse Content-Encoding, mthode de codage du contenu ; Content-Length, la longueur de la page en octets ; Last-Modied, heure et date dernire modication de la page ; Location, demande au client denvoyer sa requte ailleurs ; Set-Cookie, demande au client denregistrer un cookie. Exercice Ecrire des fonctions retournant des paramtres de rponse adapts.
20/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

20 / 70

HTTP
Groupes de codes de rponse

Chaque requte est suivie dune rponse, contenant un code dtat 3 chiffres : 1xx : Information ; 2xx : Succs - exemple : 200 = la requte a russi ; 3xx : Redirection - exemples : 301 = page dplace, 304 = page en cache toujours valide ; 4xx : Erreur client - exemples : 403 = page interdite, 404 = page inexistante ; 5xx : Erreur serveur - exemples : 500 = erreur interne, 503 = recommencer plus tard.
Exercice En utilisation le paramtre Location, modier notre serveur web pour quil redirige systmatiquement vers la page daccueil du LaBRI.
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

21/70

21 / 70

Envoi de donnes - GET

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

22/70

22 / 70

GET : passage de valeurs dans lURL

23/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

23 / 70

Formulaire envoy avec GET


Un petit coup de google :

Dans le rsultat, noter lURL

24/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

24 / 70

Les valeurs ont transit en clair

25/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

25 / 70

Envoi de donnes - POST

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

26/70

26 / 70

Formulaire envoy avec POST

27/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

27 / 70

Vrication : trame

28/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

28 / 70

Le mot de passe a transit en clair...

29/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

29 / 70

Exercices : rcupration des valeurs

Exercice
Modier notre serveur web pour quil puisse rcuprer les valeurs passes par le client avec la mthode GET.

Exercice
Modier notre serveur web pour quil puisse rcuprer les valeurs passes par le client avec la mthode POST.

30/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

30 / 70

Cookie (1)

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

31/70

31 / 70

Cookie (2)

c D. Donsez
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

32/70

32 / 70

Suivi de session & HTTP

Motivation : la notion de session est importante dans de nombreuses applications (ex. commerce lectronique - gestion dun panier ) Cependant avec HTTP, le serveur ne maintient pas d informations lies aux requtes prcdentes d un mme client : les enchainements Requte/Rponse sont indpendants les uns des autres. Comment implanter la notion de session sur plusieurs requtes HTTP ?

33/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

33 / 70

Principales mthodes

Mthodes le serveur gnre un identicateur de session et associe un tat (et une date limite de validit) une session ; le client renvoie l identicateur de session chaque requte HTTP vers le serveur ; Echange et Stockage de lidenticateur de session input HIDDEN dans les formulaires ; rcriture des URLs ; cookies (dsactivable) ; identicateur de session SSL (Secure Socket Layer) ;

34/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

34 / 70

Session
Rcriture des URLs

L identiant de session est encod dans les URLs des documents HTML retourns par le serveur : Exemple :
http ://www.bob.fr/servlet/cart ?PROD_ID=383

devient
http ://www.bob.fr/servlet/cart ;jsessionid=To1128mC33718557521577075At ?PROD_ID=383

Limite : lURL doit tre gnre par un script (programmation ct serveur)

35/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

35 / 70

Session
Cookies

Chane dcrivant ltat dune session : NAME=. ; expires=. ; path=. ; domain=. ; stocke sur le client. Communique dans les enttes de requtes (Cookie :) et dans les enttes des rponses HTTP (Set- Cookie :) Limites : 300 cookies simultanes par client, 20 cookies par serveur ou domaine, 4Ko par cookie. Un client peut refuser des cookies.
36/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

36 / 70

Le serveur Apache
Statistiques

37/70

Installation (LaBRI) linux Ubuntu :- Utilisation des Rseaux sous Univ Bx 1 INF157

L3 INFO

37 / 70

Plan

Principes Le protocole HTTP Syntaxe Echange de donnes Les cookies Le suivi de session Les extensions dHTTP

38/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

38 / 70

webdav
Web Distributed Authoring and Versioning Protocol

Extension de HTTP pour la mise jour de site : ajout de nouvelles commandes HTTP :
PROPFIND : retourne les proprits ; PROPPATCH : modie les proprits ; MKCOL : cre une nouvelle collection ; COPY & MOVE : copie ou dplace une ressource au sein dun espace de nommage ; LOCK & UNLOCK : verrouille et dverouille un

serveurs WebDAV : MS IIS5, mod_dav pour Apache, support dans Tomcat 4... clients WebDAV : MS Ofce, Cadaver, konqueror...
39/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

39 / 70

Webdav
webdavs ://miage.emi.u-bordeaux1.fr/prod/webdav/test/2006/M2MIAGE/

40/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

40 / 70

HTTPS
S comme Secure

Motivation Scuriser (authentication, condentialit) laccs un service Web SSL ;


Authentication du serveur et/ou du client par PKI ; Chiffrage avec une cl (secrte) symtrique de session ; Reprise aprs dconnexion

HTTP over SSL : URL : https ://host/document (Port TCP par dfaut : 443) HTTPS en java :
JSSE (javax.net.ssl.*) inclus dans Java 1.4 ; classe javax.net.HttpsURLConnection ;

Serveurs : Apache/SSL (ex. miage.emi.u-bordeaux1.fr), iPlanet, MS IIS, OracleAS, IBM WebSphere ;


41/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

41 / 70

HTTPR
R pour Reliable (Fiable)

propos par IBM au W3C (en cours dinstruction) ; HTTP est une couche de transport pour les messages SOAP dans la mise en oeuvre les Web Services (B2B, EAI) ; motivations : abiliser lchange de messages : changer une et une seul fois mme en cas dinterruption ; regrouper plusieurs messages par commande. mcanismes : journaliser les messages (requtes et rponses) ct client et ct serveur ; notion de transaction ; Valider/Acquiter les changes ; ajout de nouvelles commandes.
42/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

42 / 70

HTTPR
Nouvelles commandes

Ces commandes sont portes par la commande HTTP POST : PUSH Le client envoie des messages journaliss par le serveur ; La squence de messages est associe un identiant de transaction ; Peut contenir des acquittements des commandes prcdentes. PULL Demande recevoir des messages en attente cot serveur ; Peut contenir des acquittements. EXCHANGE : combine PUSH et PULL ; RESOLVE : dterminer les messages journaliss par le serveur ; REPORT : rapporter au serveur journaliss par le client.
43/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

43 / 70

Cours 3
Servlets

Fondamentaux Un conteneur : Tomcat Servlets

Cette partie est base fortement sur les transparents de cours de Mickal Baron :
Bibliographie : M. Baron, Java pour le dveloppement dapplications Web : J2EE (2006), http ://baron.mick.free.fr/

44/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

44 / 70

Plan

Fondamentaux

Un conteneur : Tomcat

Servlets

45/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

45 / 70

Servlet

Denition
Servlet Composant logiciel crit en Java fonctionnant ct serveur. Concurrents directs : scripts CGI (Common Gateway Interface) ; langages de script PHP, ASP etc ... Une Servlet sexcute dans un conteneur de Servlets.

46/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

46 / 70

Architecture

c M. Baron (2006)
47/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

47 / 70

Atouts
Portabilit :
Technologie indpendante de la plate-forme et du serveur ; Un langage (Java) et plusieurs plate-forme (.NET plusieurs langages et une plate-forme) ;

Puissance :
Disponibilit de lAPI de Java ; Manipulation dimages, connectivit aux bases de donnes (JDBC), etc.

Efcacit :
Une Servlet est charge une seule fois ; Une Servlet conserve son tat ;

Scurit :
Typage fort de Java ; Gestion des erreurs par exception.
48/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

48 / 70

Une premire Servlet

c M. Baron (2006)
49/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

49 / 70

Plan

Fondamentaux

Un conteneur : Tomcat

Servlets

50/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

50 / 70

Conteneurs de Servlets
Denition
Conteneur Une Servlet sexcute dans un conteneur de Servlet permettant dtablir le lien entre la Servlet et le serveur Web. Deux types de conteneurs : conteneurs de Servlets autonomes : serveur web intgrant le support des Servlets ; conteneurs de Servlets additionnels : fonctionnent comme un plug-in un serveur web existant. Principaux conteneurs : Tomcat Server (Apache) ; JBoss ; WebSphere Application Server (IBM) ; Weblogic (BEA) ; ...
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

51/70

51 / 70

Jakarta Tomcat

Tomcat 5 respecte la spcication Servlet 2.4 et JSP 2.0 ; Ecrit entirement en Java, il peut donc tre utilis sur nimporte quel systme disposant dune machine virtuelle ; Disponible gratuitement sous forme dune licence Open Source ; Implmentation de rfrence de la spcication J2EE. Il fournit donc les librairies de faon concevoir des Servlets (javax.servlet.http.HttpServlet)

52/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

52 / 70

Installation de tomcat sous linux


2 options :
1

avec le gestionnaire de paquets : apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps Ubuntu Feisty : cass, plusieurs problmes ! avec la version archive :
1 2

4 5

Dcompresser larchive ; Modier la variable PATH de faon prendre en compte le chemin binaire de Tomcat ; Ajouter la variable CATALINA_HOME pointant sur le chemin de Tomcat Ajouter la variable JAVA_HOME pointant sur la machine virtuelle Complter la variable CLASSPATH pointant sur les librairies J2EE (CLASSPATH=$CLASSPATH :tomcat/common/lib) Pour vrier que votre serveur fonctionne, lancer startup.sh
53/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

53 / 70

Hirarchie des rpertoires de Tomcat

c M. Baron (2006)
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

54/70

54 / 70

Rles
Denition
Rle Permet dajouter des utilisateurs et de dnir des droits sur les Servlets. Ajout, suppression et modication des rles : soit par la Servlet Administration ; soit en ditant directement le chier tomcat-users.xml tomcat-users.xml
<?xml version=1.0 encoding=utf-8?> <tomcat-users> <user username="admin" password="admin" roles="admin,manager" /> </tomcat-users>

A la premire utilisation de tomcat, il faut modier le chier tomcat-users.xml


55/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

55 / 70

Plan

Fondamentaux

Un conteneur : Tomcat

Servlets

56/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

56 / 70

API

c M. Baron (2006)
57/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

57 / 70

HttpServlet
Denition
HttpServlet La classe HttpServlet rednit la mthide service(...) qui interprte la requte HTTP et transmet celle-ci la mthode approprie (doGet(...), doPost(...), doHead(...), ...).

c M. Baron (2006)
58/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

58 / 70

Implmentation par dfaut


Limplmentation par dfaut retourne une erreur 405.

c M. Baron (2006)
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

59/70

59 / 70

Requte et rponse HTTP


2 objets : HttpServletRequest et HttpServletResponse

c M. Baron (2006)
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

60/70

60 / 70

HttpServletRequest
Principales mthodes : String getMethod() : retourne le type de requte ; String getServeurName() : retourne le nom du serveur ; String getParameter(String name) : retourne la valeur dun paramtre ; String[] getParameterNames() : retourne le nom de tous les paramtres ; String getRemoteHost() : retourne lIP du client ; String getServerPort() : retourne le port sur lequel le serveur coute String getQueryString() : retourne la chane dinterrogation ; ...
61/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

61 / 70

HttpServletResponse

Principales mthodes : void setStatus(int) : dnit le code de retour de la rponse ; void setContentType(String) : dnit le type de contenu MIME ; ServletOutputStream getOutputStream() : ot pour envoyer des donnes binaires au client ; void sendRedirect(String) : redirige le navigateur vers lURL ...

62/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

62 / 70

Pratique

Exercice
Ecrire
1 2

une Servlet HelloWord qui retourne un message de type TEXT ; une Servlet Redirection qui effectue une redirection vers miage.u-bordeaux.fr ; une Servlet InfosServlet qui retourne des informations extraites de la requte HTTP utilise.

63/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

63 / 70

HelloWorld

c M. Baron (2006)
64/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

64 / 70

Redirection

c M. Baron (2006)
65/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

65 / 70

InfosServlet

c M. Baron (2006)
66/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

66 / 70

Rcupration de valeurs passes par un formulaire


String getParamater(String p) : retourne la valeur du paramtre p ; String[] getParameterValues(String p) : retourne les valeurs du paramtre p.

c M. Baron (2006)
67/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

67 / 70

Architecture dune application WEB

c M. Baron (2006)
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO

68/70

68 / 70

Dploiement dune Servlet


Avec Eclipse :
1

tlcharger/installer le plugin Tomcat http ://www.eclipsetotale.com/tomcatPlugin.html manuel : http ://www.eclipsetotale.com/articles/tomcat/ ; Attention : le chier web.xml nest pas gnr par le plugin !

Exemple de web.xml (dans WEB-INF du projet)


<?xml version="1.0" encoding="utf8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http:// www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun. com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name> Tests </display-name> <servlet><servlet-name>test</servlet-name> <servlet-class>MaServlet</servlet-class> </servlet> <servlet-mapping><servlet-name>test</servlet-name> <url-pattern>/*</url-pattern> 69/70 </servlet-mapping></web-app>
Univ Bx 1 (LaBRI) INF157 - Utilisation des Rseaux L3 INFO 69 / 70

Pour aller plus loin

Le cours de Mickal Baron aborde des notions plus subtiles : cycles de vie des Servlets ; sessions : cookies, HttpSession ; partage dinformations entre Servlets ; partager le contrle dune requte Http ; authentication ; etc .

70/70

Univ Bx 1 (LaBRI)

INF157 - Utilisation des Rseaux

L3 INFO

70 / 70

Anda mungkin juga menyukai