15
J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15

Cours1_J2EE

Embed Size (px)

DESCRIPTION

Java ent

Citation preview

Page 1: Cours1_J2EE

J2EE

A.-E. Ben Salem

LRDE and LIP6

09 Octobre 2011

1 / 15

Page 2: Cours1_J2EE

Plan

1 J2EE

2 Architecture Client/Serveur HTTP

3 Différence entre Web Statique et Web Dynamique

4 Web Dynamique avec un Serveur d’applications J2EE

5 Les pages JSP

6 Déploiement d’une application dans les Conteneurs J2EE

2 / 15

Page 3: Cours1_J2EE

J2EE

I J2EE est l’acronyme de Java 2 Entreprise EditionI renommée Java EE, depuis sa version 5.I basée sur J2SE : les API de base de JavaI c’est une plate-forme pour le d’eveloppement et l’exécution

d’applications distribuées :I Développement : à l’aide d’un ensemble de bibliothèques logicielle

(API : Servlet 3.0, JSP 2.2, EJB 3.1, JDBC,. . . ).I Exécution : déploiement dans un serveur d’application (Tomcat,

JBoss WebSphere, Weblogic,. . . ).I orientée client/serveur

3 / 15

Page 4: Cours1_J2EE

Architecture Client/Serveur HTTP

I Client : navigateur webI Serveur : serveur HTTPI Protocole de

communication : HTTPI Requête : URL pour

désigner une ressourceI Port : 80 (8080 Tomcat)I Réponse : page HTML

http://bet-nafet.ma/expert/ 4 / 15

Page 5: Cours1_J2EE

Web Statique

I Serveur HTTP statique (Apache, IIS, . . . )I Contenu statique : la ressource demandée est un fichier (page

html statique, fichier txt, pdf, images, . . . )I un site est associé à un dossier dans le système de fichiers

http://grigoras.perso.enseeiht.fr/ens/asi/j2ee/ 5 / 15

Page 6: Cours1_J2EE

Web Dynamique

I Contenu dynamique :I Page HTML généré dynamiquement,I éventuellement à partir d’informations provenant d’une BD.

I Java (J2EE), PHP, Perl, ASP, C# (.NET)

http://grigoras.perso.enseeiht.fr/ens/asi/j2ee/ 6 / 15

Page 7: Cours1_J2EE

Web Dynamique avec un Serveur d’applications J2EE

I Serveur HTTP + Serveur d’applications (processus de génération)I Serveur d’applications J2EE contient :

I éventuellement un serveur HTTP interne (Tomcat embarque unserveur HTTP Apache)

I Conteneur Web : exécution des Servlets et/ou JSPs permettant degénérer dynamiquement des pages HTML

I Conteneur EJB...http://grigoras.perso.enseeiht.fr/ens/asi/j2ee/ 7 / 15

Page 8: Cours1_J2EE

JSP

I Une page JSP est un fichier au format XHTMLI Une JSP mélange deux types de code :

I Partie statique : code HTMLI Partie dynamique : code Java exécuté par le serveur dont le

résultat est injecté dans la page html transmise au clientI L’écriture d’une JSP est basée sur les balises suivantes :

I tags HTML (<p>, <br>, <h1>. . . )I tags JSP : transformés en code Java par le Serveur (par exemple le

tag “<c :forEach>” pour écrire une boucle)I scriptlets : code Java écrit dans un tag spécial “<%>”

8 / 15

Page 9: Cours1_J2EE

Scriplets

I Du code Java : <% code Java %>I Des évaluations d’expression : <%= expression %>, Par exepmle :

<%= nom_de_variable %> affiche le contenu de la variableI Des variables prédéfinies

9 / 15

Page 10: Cours1_J2EE

Envoi de paramètres dans une Requête HTTP

Deux méthodes pour ajouter des paramètres dans une RequêteHTTP :

I Requêtes de type GET : paramètres inclus dans l’URLhttp://serveur/contexte/ressource?param1=valeur1&param2=valeur2

I Requêtes de type POST : paramètres inclus dans les entêtesHTTP, nécessite l’utilisation d’un formulaire :

<FORM METHOD=POST ACTION="ressource"><p>Entrer les valeurs des paramètres :</p><p>p1 : <INPUT TYPE=TEXT NAME="param1"></p><p>p2 : <INPUT TYPE=TEXT NAME="param2"></p><INPUT TYPE=SUBMIT VALUE="envoyer"></FORM>

I Reception des paramètres côté Serveur J2EE :Code Java à ajouter à une JSP : request.getParameter("param1");

10 / 15

Page 11: Cours1_J2EE

Architecture de J2EE

http://info-j2ee.blogspot.fr/2007/12/blog-post.html 11 / 15

Page 12: Cours1_J2EE

Architecture multitiers J2EE

L’architecture d’une application se d’ecoupe en :I Couche Client (dialogue avec l’utilisateur) :

I Léger : navigateur Web (html-HTTP), . . .I Lourd : Application java (Swing), Applet,. . .I client Web Service (xml-HTTP)

I Couche Présentation (Conteneur WEB) :I ServletI JSP (Struts, JSF, . . . )

I Couche Métier (Conteneur EJB) :I POJO (Hibernate, Spring)I EJBI Web Service

I Couche Données :I Base de Données (Oracle, DB2, . . . )I XMLI ERP (Cobol, . . . )

12 / 15

Page 13: Cours1_J2EE

Les Conteneurs d’un Serveur d’applications J2EE

I Conteneur Web, composé de :I un moteur de Servlets pour exécuter les ServletsI un moteur de JSP pour exécuter les JSPsI un serveur HTTP (ou un “plug in” d’un serveur HTTP externe :

Apache, IIS, ...)I conteneur d’EJB : pour exécuter les EJBI Un serveur d’application peut fournir :

I uniquement un conteneur Web : TomcatI uniquement un conteneur d’EJB : JBoss, Jonas, . . .I les deux Web et EJB : Websphere, Weblogic, . . .

13 / 15

Page 14: Cours1_J2EE

Déploiement d’une application dans les Conteneurs

Pour déployer une application dans un conteneur, il faut lui fournirdans une archive deux éléments :

I les fichiers de l’application : Servlets, JSPs, classes compilées(.class), ressources statiques (pages HTML statiques, images,CSS, pdf, txt, . . . ), . . .

I un fichier XML descripteur de d’eploiement : précise au conteneurla configuration(les options) pour exécuter l’application

Chaque conteneur possède son propre format d’archive :Conteneur Contenu de l’archive Extension de

l’archiveDescripteur ded’eploiement

Web Servlets, JSP, ressources . . . .war web.xmlEJB EJB et leurs classes .jar ejb-jar.xmlles 2 : Web + EJB .war et .jar .ear application.xml

14 / 15

Page 15: Cours1_J2EE

Archives à déployer dans les Conteneurs

http://www.jmdoudoux.fr/java/ 15 / 15