Vous êtes sur la page 1sur 15

J2EE

A.-E. Ben Salem


LRDE and LIP6

09 Octobre 2011

1 / 15

Plan

J2EE

Architecture Client/Serveur HTTP

Diffrence entre Web Statique et Web Dynamique

Web Dynamique avec un Serveur dapplications J2EE

Les pages JSP

Dploiement dune application dans les Conteneurs J2EE

2 / 15

J2EE

I J2EE est lacronyme de Java 2 Entreprise Edition


I renomme Java EE, depuis sa version 5.
I base sur J2SE : les API de base de Java
I cest une plate-forme pour le developpement et lexcution
dapplications distribues :
I

Dveloppement : laide dun ensemble de bibliothques logicielle


(API : Servlet 3.0, JSP 2.2, EJB 3.1, JDBC,. . . ).
Excution : dploiement dans un serveur dapplication (Tomcat,
JBoss WebSphere, Weblogic,. . . ).

I oriente client/serveur

3 / 15

Architecture Client/Serveur HTTP

I Client : navigateur web


I Serveur : serveur HTTP
I Protocole de
communication : HTTP
I Requte : URL pour
dsigner une ressource
I Port : 80 (8080 Tomcat)
I Rponse : page HTML

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

4 / 15

Web Statique

I Serveur HTTP statique (Apache, IIS, . . . )


I Contenu statique : la ressource demande est un fichier (page
html statique, fichier txt, pdf, images, . . . )
I un site est associ un dossier dans le systme de fichiers
http://grigoras.perso.enseeiht.fr/ens/asi/j2ee/

5 / 15

Web Dynamique

I Contenu dynamique :
I
I

Page HTML gnr dynamiquement,


ventuellement partir dinformations provenant dune BD.

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


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

6 / 15

Web Dynamique avec un Serveur dapplications J2EE

I Serveur HTTP + Serveur dapplications (processus de gnration)


I Serveur dapplications J2EE contient :
I

ventuellement un serveur HTTP interne (Tomcat embarque un


serveur HTTP Apache)
Conteneur Web : excution des Servlets et/ou JSPs permettant de
gnrer dynamiquement des pages HTML
Conteneur EJB...

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

7 / 15

JSP

I Une page JSP est un fichier au format XHTML


I Une JSP mlange deux types de code :
I
I

Partie statique : code HTML


Partie dynamique : code Java excut par le serveur dont le
rsultat est inject dans la page html transmise au client

I Lcriture dune JSP est base sur les balises suivantes :


I
I

tags HTML (<p>, <br>, <h1>. . . )


tags JSP : transforms en code Java par le Serveur (par exemple le
tag <c :forEach> pour crire une boucle)
scriptlets : code Java crit dans un tag spcial <%>

8 / 15

Scriplets
I Du code Java : <% code Java %>
I Des valuations dexpression : <%= expression %>, Par exepmle :
<%= nom_de_variable %> affiche le contenu de la variable
I Des variables prdfinies

9 / 15

Envoi de paramtres dans une Requte HTTP


Deux mthodes pour ajouter des paramtres dans une Requte
HTTP :
I Requtes de type GET : paramtres inclus dans lURL

http://serveur/contexte/ressource?param1=valeur1&param2=valeu

I Requtes de type POST : paramtres inclus dans les enttes


HTTP, ncessite lutilisation dun formulaire :
<FORM METHOD=POST ACTION="ressource">
<p>Entrer les valeurs des paramtres :</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 paramtres ct Serveur J2EE :


Code Java ajouter une JSP : request.getParameter("param1");
10 / 15

Architecture de J2EE

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

11 / 15

Architecture multitiers J2EE


Larchitecture dune application se decoupe en :
I Couche Client (dialogue avec lutilisateur) :
I
I
I

Lger : navigateur Web (html-HTTP), . . .


Lourd : Application java (Swing), Applet,. . .
client Web Service (xml-HTTP)

I Couche Prsentation (Conteneur WEB) :


I
I

Servlet
JSP (Struts, JSF, . . . )

I Couche Mtier (Conteneur EJB) :


I
I
I

POJO (Hibernate, Spring)


EJB
Web Service

I Couche Donnes :
I
I
I

Base de Donnes (Oracle, DB2, . . . )


XML
ERP (Cobol, . . . )
12 / 15

Les Conteneurs dun Serveur dapplications J2EE

I Conteneur Web, compos de :


I
I
I

un moteur de Servlets pour excuter les Servlets


un moteur de JSP pour excuter les JSPs
un serveur HTTP (ou un plug in dun serveur HTTP externe :
Apache, IIS, ...)

I conteneur dEJB : pour excuter les EJB


I Un serveur dapplication peut fournir :
I
I
I

uniquement un conteneur Web : Tomcat


uniquement un conteneur dEJB : JBoss, Jonas, . . .
les deux Web et EJB : Websphere, Weblogic, . . .

13 / 15

Dploiement dune application dans les Conteneurs


Pour dployer une application dans un conteneur, il faut lui fournir
dans une archive deux lments :
I les fichiers de lapplication : Servlets, JSPs, classes compiles
(.class), ressources statiques (pages HTML statiques, images,
CSS, pdf, txt, . . . ), . . .
I un fichier XML descripteur de deploiement : prcise au conteneur
la configuration(les options) pour excuter lapplication
Chaque conteneur possde son propre format darchive :
Conteneur
Web
EJB
les 2 : Web + EJB

Contenu de larchive
Servlets, JSP, ressources . . .
EJB et leurs classes
.war et .jar

Extension de
larchive
.war
.jar
.ear

Descripteur de
deploiement
web.xml
ejb-jar.xml
application.xml

14 / 15

Archives dployer dans les Conteneurs

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

15 / 15

Vous aimerez peut-être aussi