Vous êtes sur la page 1sur 31

1

Dveloppement dapplications Web


J2EE- Servlet


20/03/2014
Mohamed AATILA
Moussa ALLAHOU MALLAYE
2
PLAN
Introduction au J2EE
Quest ce quune servlet?
Container de Servlets
Avantages des Servlets
Interface Servlet
Cycle de vie d'une Servlet
Outils et environnement de dveloppement
Les cookies
Les sessions
Exemples
3
Introduction au J2EE
Le terme Java EE signifie Java Enterprise Edition, et tait
anciennement raccourci en J2EE .

J2EE est une norme propose par la socit Sun, porte par un
consortium de socits internationales, visant dfinir un standard de
dveloppement d'applications d'entreprises multi-niveaux, bases sur
des composants. On parle gnralement de plate-forme J2EE pour
dsigner l'ensemble constitu des services (API) offerts et de
l'infrastructure d'excution.

J2EE comprend notamment :
- Les spcifications du serveur d'application
- Des services, au travers des API.
L'objectif majeur de J2EE est de faciliter le dveloppement d'applications
web robustes et distribues, dployes et excutes sur un serveur
d'applications
4
Quest ce quune servlet?
Une Servlet est un composant web
conu sous la forme d'une classe Java.
Elle fonctionne dans un serveur
d'application.
L'objectif d'une servlet est de rendre les
contenus web dynamiques.

5
Quest ce quune servlet?
http://www.exemple.com/Hello
6
Quest ce quune servlet?
http://www.exemple.com/Hello
Serveur
dapplication (JBoss,
Tomcat, Weblogic )

Cest notre classe
servlet
7
Container de servlets
Un conteneur web est un moteur de servlet qui
prend en charge et gre les servlets :
- chargement de la servlet
- gestion de son cycle de vie
- passage des requtes et des rponses
Un conteneur web peut tre intgr dans un
serveur d'application qui va contenir d'autre
conteneur et ventuellement proposer d'autres
services..
8
Container de servlets
9
Avantages des Servlets
Efficacit
Utilisent des threads plutt que des processus comme
les CGI.
Pratique
Librairie trs dveloppe (moins que PHP mais plus
consistante)
Portable
Dployable quelque soit le serveur (ou presque)
Scuris
Fonctionne dans une machine virtuelle (plus
maitrisable)
Pas cher
Nombreux serveurs gratuits
10
Interface Servlet
Une servlet doit implmenter linterface javax.servlet.Servlet
soit directement,
soit en drivant dune classe qui implmente dj cette
interface (comme GenericServlet ou HttpServlet )

L'interface javax.servlet.Servlet possde les mthodes pour :
init()
service()
destroy()
11
Cycle de vie d'une Servlet
Tous les servlets ont le mme cycle de vie
Le container charge le servlet
La fonction init() est appele (initialisation de variables,
connection des bases de donnes)
Le servlet rpond aux requtes des clients
Le contaire dtruit le servlet
La fonction destroy() est appele (fermeture des
connections)
12
Cycle de vie d'une Servlet
Une servlet Web tend la classe
javax.servlet.http.HttpServlet
(elle implmente
javax.servlet.Servlet)
Plusieurs mthodes spcifiques au
protocole HTTP remplacent la
mthode service(),
qui appelle la mthode
correspondant au type de requte :



Mthode Type de requte
HTTP
doGet()

GET

doPost()

POST

doPut()

PUT

doDelete()

DELETE

doHead()

HEAD
doOptions()

OPTIONS
doTrace()

TRACE
13
Cycle de vie d'une Servlet



Request
Service( )
Response
Server HttpServlet subclass
Key: Implemented by subclass
doGet( )
doPost( )
doGet() doPost()
14
Outils et environnement de
dveloppement
Installation du serveur

http://tomcat.apache.org/
15
Installation du serveur

Outils et environnement de
dveloppement
16
Installation du serveur

Pour dmarrer le serveur
Pour arrter le serveur
Outils et environnement de
dveloppement
17
Installation du serveur

Outils et environnement de
dveloppement
18
Configuration denvironnement de dveloppement

Outils et environnement de
dveloppement
19
Configuration denvironnement de dveloppement

Outils et environnement de
dveloppement
20
Configuration denvironnement de dveloppement

Outils et environnement de
dveloppement
21
Outils et environnement de
dveloppement
22
Outils et environnement de
dveloppement
23
Exemples de servlets
Squelette dune servlet

import javax.servlet.*;
import javax.servlet.http.*;

public class servlet extends HttpServlet {

public void init(HttpServletConfig c)
throws ServletException {}

public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException, IOException {}

public void destroy() {}

}

24
Exemples de servlets
Structure dune application

Cest notre servlet
Description de lapplication
25
Exemples de servlets
Structure du fichier web.xml

26
Les cookies
cest quoi un cookie?
pourquoi?
Informations envoyes par le serveur, stocke sur
le client et renvoyes par le client quand il revient
visiter le mme URL
27
Les cookies
Classe : javax.servlet.http.Cookie
crire/lire un cookie : addCookie(cookie), getCookies(),
Une API pour manipuler les cookies :
28
Les sessions
cest quoi une session?
Cest une mmoire de ce que fait l'utilisateur d'une page
l'autre consiste au transfert de donnes gnres par une
requte vers les requtes suivantes.
29
Les sessions

HttpSession sess = request.getSession();
out.println("<h4>la session est-elle nouvelle ?"+sess.isNew()+"<h4>");
out.println("<h4>l'id de la session :"+sess.getId()+"<h4>");
sess.setAttribute("user", "MasterID");
Pour crer une session:
Pour rcuprer les attributs:
sess.getAttribute("user") ;
Pour dtruire la session:
request.getSession().invalidate();
30
Exemples
31
Question?