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
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?