44
Introduction Pour la première séance Architecture Client/Serveur HTTP Web dynamique Appli web et JAVA : J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto <[email protected]> Département Informatique et Math appli ENSEEIHT Pierre Gambarotto <[email protected]> Appli Web et J2EE

Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Application Web et J2EEServlet, JSP, Persistence, Méthodologie

Pierre Gambarotto<[email protected]>

Département Informatique et Math appliENSEEIHT

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 2: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 3: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

ButsPlan

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 4: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

ButsPlan

Connaissances à acquérir

Application Client/Serveur et HTTP

Conception d’une application web

Modèle MVC

Démarche sur un projet

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 5: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

ButsPlan

Côté technique

J2EE : Servlet, JSP

Accès bases de données : jdbc

Eclipse

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 6: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

ButsPlan

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 7: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

ButsPlan

Acquisition des connaissances

seance 1 Application Client/Serveur, HTTP,J2EE :Servlet(base)

séance 2 Communication entre ressources web ;J2EE :Servlet(++)

séance 3 HTML et JSP pour interface utilisateur

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 8: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

ButsPlan

Méthodologie de conception et mise en pratique

séance 4 Persistence (jdbc), conception BD(base)

séance 5 MVC

séance 6 Méthodologie de conception

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 9: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Sommaire

Application Client Serveur, Application Web

HTTP

Web dynamique

J2EE : présentation

Servlet : la base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 10: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Client/Serveur

Serveur

Client Client Client

Un Serveur, plusieursclients

Client : InterfaceUtilisateur

Serveur : partie métier

Protocole decommunication entre leclient et le serveur

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 11: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Application Web

ServeurHTTPFirefox

Mozilla

IE

OperaSafariClient/Serveur

Client : navigateur web

Langage de descriptiond’interface : HTML,Javascript

Serveur : serveur web

Protocole decommunication : HTTP

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 12: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

HTTP en bref

HyperText Transfer Protocol

Protocole Client/Serveur, basé sur TCP

Client=navigateur web

Désignation de ressource : URL

HTTP/1.0 : RFC 1945, mai 1996

HTTP/1.1 : RFC 2616, juin 1999

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 13: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Exemple de requête

Client Serveur

http://www.site.fr/path/to/doc.html

147.123.42.3

connexion TCP

GET /path/to/doc.html HTTP1.1

HTTP1.1 200 Ok ...

DNS

⇒ pas de suivi de requêtes

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 14: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

URL

Uniform Ressource Locator (URI idem mais Identifier)

type_connexion:://serveur/chemin/ressource[#id_fragment][?liste_param]

Exemples :

http://yuka.enseeiht.fr/svn/cours/j2ee/http://yuka.enseeiht.fr/doc?param1=val1&p2=val,val2

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 15: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

HTTP Requête

1 ligne de commande : requête URI-demandé HTTP-version2 en-têtes optionnels, sur plusieurs lignes si nécessaire3 une ligne blanche ;4 un corps éventuel

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 16: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Types de reqêtes

GET : demande l’émission d’une page

HEAD : demande de lire l’en-tête d’une page

PUT : demande de mémoriser une page

POST : demande de traitement du corps de la requête

DELETE : élimine une page

LINK/UNLINK : lie/délie deux ressources

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 17: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

En-têtes

DATE : de la génération de la requêteREFERER : donne l’URI de la page à partir de laquelle ledocument est demandéUSER-AGENT : identifiant du logiciel de navigationemployéMIME-VERSION : numéro de versionCONTENT-TYPE : type de données du corps (POST)CONTENT-LENGTH : longueur du corps (en bytes)CONTENT-ENCODING : codage supplémentaire de laressource accédéeCONNECTION : que doit-on faire avec la connection (lagarder ouverte ?)HOST : indique le nom du serveur (avec éventuellementun numéro de port). Obligatoire en version 1.1Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 18: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Réponse HTTP

1 une ligne de status : HTTP-version code-réponse phraseréponse

2 en-têtes optionnels3 une ligne blanche4 corps éventuel

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 19: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Code de réponse

1xx : informationnel

2xx : succès

3xx : redirection

4xx : erreur client

5xx : erreur serveur

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 20: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 21: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Mini historique

crée au CERN pour de la documentation scientifique

HTTP/1.0 : RFC 1945, mai 1996

HTTP/1.1 : RFC 2616, juin 1999

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 22: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Web statique

Client HTTP

Client HTTP

ServeurHTTP système

de fichier

ressource demandée :fichier

serveur web associé à undossier dans le systèmede fichiers

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 23: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Exemple

serveur web zongo.n7.fr , associé au dossier/var/www/html/

client :requête de type GET pour l’URLhttp://zongo.n7.fr/elfe/dislikeDwarf.html

serveur : récupère le fichier/var/www/html/elfe/dislikeDwarf.html etl’enrobe dans une réponse HTTP pour l’envoyer au client

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 24: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Evolution : plus de dynamisme

nécessité d’une interface utilisateur plus riche : ajout deprocessus au niveau client pour gérer certains langages :javascript, Applets Java, et autre.

nécessité de personnaliser les réponses : génération à lavoléé de document au niveau serveur

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 25: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 26: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Génération dynamique de documents

Client HTTP

Client HTTP

ServeurHTTP

processus degénération

nom de ressourcedemandé : document nonexistant, à générer !

processus de générationinterne ou externe

Java, php, perl, asp, C#

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 27: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Exemple

serveur web zongodyn.n7.fr , associé à laconfiguration : toute les ressources commençant par/elfe/ sont traitées par le processus salade.pl , ici unscript perl.

client :requête de type GET pour l’URLhttp://zongo.n7.fr/elfe/dislikeDwarf.html

serveur : exécute le processus salade.pl , en lui passantla requête reçu en argument, donc en particulier laressource demandé : /elfe/dislikeDwarf.html . Leprocessus renvoie un résultat, que le serveur enrobe dansune réponse HTTP pour l’envoyer au client

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 28: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Evolution du webPrincipe du web dynamique côté serveur

Exemple

serveur web zongodyn.n7.fr , associé à laconfiguration : toute les ressources commençant par/elfe/ sont traitées par le processus salade.pl , ici unscript perl.

client :requête de type GET pour l’URLhttp://zongo.n7.fr/elfe/dislikeDwarf.html

serveur : exécute le processus salade.pl , en lui passantla requête reçu en argument, donc en particulier laressource demandé : /elfe/dislikeDwarf.html . Leprocessus renvoie un résultat, que le serveur enrobe dansune réponse HTTP pour l’envoyer au client

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 29: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 30: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

J2EE : collection de produits

J2EE : Java Edition Entreprise : nom commercial de SUN

JVM orienté serveur : beaucoup de thread, usage mémoire

ensemble de libraires : Servlet, JSP, XML, EJB, XML-RPC,RMI, SOAP . . .

Serveur d’application nécessaire pour l’exécution desservlets, des jsp et des ejb

Nombreux produits libre et de qualité par la fondationApache.

ensemble de normes, en particulier : norme pour lesserveurs d’application

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 31: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Servlet

classe Java implémentant une interface définie dans lalibrairie servlet.jar , correspondant à une norme SUN.

exécutée par un serveur d’appliation pour générer laréponse à une requête HTTP

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 32: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

JSP

Java Server Pages

document texte

base : langage à balises, HTML ou XML

introduction de tags dynamiques

exécutée par un serveur d’application pour générer laréponse à une requête HTTP, et donc idem Servlet

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 33: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 34: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Web dynamique en Java

JVMMoteur de servlets

Servlets

JSPs

JSDK

Contexte

JavaBean

ServletConfig

Conteneur d'applications

Serveur HTTP

HTTP Request

HTTP Response

Client HTTP

Client HTTP

Client HTTP

déclinaison en Java d’unserveur HTTP dynamique

au cœur : une JVM

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 35: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Principe de traitement des requêtes

Client HTTP

ServeurJ2EE

JVM

Req

Res

Servlet/JSP

requêteHTTP

encodagereq->obj

création

appel

décodageobj->res

réponseHTTP

1

2

3

4

6

5

24

1 réception de la requête2 création de l’objet réponse

création de l’objet requête3 appel de la Servlet/JSP associée au

nom de ressource demandée4 la classe associée s’exécute, en

accédant aux objets requête etréponse.

5 le serveur décode l’objet réponse, etcrée une réponse HTTP

6 la réponse HTTP est renvoyée auclient

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 36: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Application J2EE

ensemble de fichiers nécessaire à l’exécution

statique : html, txt, images . . .

dynamique : servelts et jsp

librairies utilisées : classes java, libraire .jar

fichier de configuration : définition du nom utilisé pourappeler les serlets

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 37: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Serveur J2EE

plusieurs applications dans des contextes différentscontexte :

nom utilisé dans l’URL pour désigner l’applicationrépertoire local contenant les fichiers de l’applicationconfiguration associé à cette application

sert du contenu statique (fichiers) et dynamique (servlet,jsp)

configuration générale : nom du serveur, port d’écoute . . .

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 38: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Plan

1 IntroductionObjectfis du coursPlan du cours

2 Architecture Client/Serveur3 HTTP4 Web dynamique

Evolution du webPrincipe du web dynamique côté serveur

5 Appli web et JAVA : J2EEEt Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 39: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Organisation des fichiersracine|-- WEB-INF| |-- classes| | |-- Titi.class| | ‘-- Toto.class| |-- lib| | |-- UtilClass.class| | ‘-- util.jar| ‘-- web.xml|-- first.jsp|-- index.html‘-- subrep

|-- autre.html‘-- second.jsp

arborescence à racineunique

présence d’un répertoireWEB-INF à la racine

fichie de configuration :web.xml

classes Java dans lerépertoireWEB-INF/classes

librairies dansWEB-INF/lib

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 40: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Ressources d’une applications

Ressource : nom pouvant être utilisé dans une URL

tous les noms de fichiers à l’extérieur de WEB-INF

le contenu de WEB-INF n’est pas accessible

association nom/servlet dans web.xml

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 41: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Déploiement et exécution

A faire sur le serveur :

définition du contexte : nom et emplacement des fichiers

installation des fichiers de l’application

Exécution à partir d’un client (navigateur web) :

former l’URL

regarder le résultat

http://fourmi:8080/appli/servlet1

fourmi:8080 /appli /servlet1

serveur

contexte

ressource

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 42: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Exemple : côté développeur

Application fournie par ledéveloppeur :

|-- WEB-INF| |-- classes| | ‘-- MyClass.class| ‘-- web.xml‘-- index.hml

Ressources de cetteapplication :

ressource statique :index.html

ressource dynamique :serv1 défini dansweb.xml comme associéà l’exécution deMyClass.class

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 43: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Côté administrateur du serveur

Configuration choisie par l’adminstrateur du serveur :

config réseau serveur : @IP, nom DNS, port d’écoute, e.gzongo:8080

nom du contexte :/appli_J2EE/appliPierrot

dossier où trouver les fichiers :/home/pierrot/j2ee/zongo

Pierre Gambarotto <[email protected]> Appli Web et J2EE

Page 44: Application Web et J2EEgrigoras.perso.enseeiht.fr/ens/asi/j2ee/0_intro.pdf · J2EE :Servlet(++) séance 3 HTML et JSP pour interface utilisateur Pierre Gambarotto

IntroductionPour la première séance

Architecture Client/ServeurHTTP

Web dynamiqueAppli web et JAVA : J2EE

Et Java entre en scèneServeur d’applications J2EEApplication web : techniques de base

Exemple : exécution

URL de base de l’application :http://zongo:8080/appli_J2EE/appliPierrotexécution de la ressource statique :http://zongo:8080/

appli_J2EE/appliPierrot/index.htmlfichier index.html récupéré et affiché sur le clientexécution de la ressource dynamique :http://zongo:8080/

appli_J2EE/appliPierrot/serv1Le serveur exécute MyClass.class , et le résultat estrenvoyé au client pour traitement local.autre nom de ressource : erreur de type 404, “Documentnon trouvé”.

Pierre Gambarotto <[email protected]> Appli Web et J2EE