La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Servlet M2 – MIAGE/SID

Présentations similaires


Présentation au sujet: "Servlet M2 – MIAGE/SID"— Transcription de la présentation:

1 Servlet M2 – MIAGE/SID

2 Miage SID2 Objectif Faciliter la programmation des pages dynamiques en JAVA Répartition des tâches : –Serveur Web –Conteneur –Application

3 Miage SID3 Principe Navigateur Serveur Web Adressage

4 Miage SID4 Principe Navigateur HTTP/GET Serveur Web URL

5 Miage SID5 Principe Navigateur Serveur Web TomCat URL Request

6 Miage SID6 Principe Navigateur Serveur Web TomCat Request Objet Servlet

7 Miage SID7 Principe Navigateur Serveur Web TomCat Response Objet Servlet

8 Miage SID8 Principe Navigateur Serveur Web TomCat Response Objet Servlet HTML/TXT

9 Miage SID9 Principe Navigateur Serveur Web TomCat Objet Servlet HTML/TXT

10 Miage SID10 Classes Java Source: Leila Kefi-Khelif

11 Miage SID11 Cycle de vie Nexiste pasInstanciation Initialisation Disponible Appel service Indisponible Destruction

12 Miage SID12 Cycle de vie Nexiste pasInstanciation Initialisation Disponible Appel service Indisponible Destruction Démarrage du conteneur

13 Miage SID13 Cycle de vie Nexiste pasInstanciation Initialisation Disponible Service Indisponible Destruction Appel de init() Nexiste pasInstanciation Initialisation Disponible Service Indisponible Destruction Appel de init() Nexiste pasInstanciation Initialisation Disponible Service Indisponible Destruction Appel de init()

14 Miage SID14 Cycle de vie Nexiste pasInstanciation Initialisation Disponible Service Indisponible Destruction Appel de service()

15 Miage SID15 Cycle de vie Nexiste pasInstanciation Initialisation Disponible Service Indisponible Destruction Timeout ou arrêt du conteneur

16 Miage SID16 Cycle de vie Nexiste pasInstanciation Initialisation Disponible Service Indisponible Destruction Libération

17 Miage SID17 Exemple de Servlet public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(" \n" + " Hello \n" + " \n" + " Hello Nancy ! \n" + " "); }

18 Miage SID18 HttpServlet doGet() : méthode associée à la requête HTTP GET doPost() : méthode associée à la requête HTTP POST init() and destroy() : gestion des ressources liées au cycle de vie du Servlet getServletInfo() : méthode associée à la description dun Servlet HttpServletRequest : classe servant à récupérer les paramètres dune requête HTTP HttpServletResponse : classe servant à envoyer la réponse à dune requête HTTP

19 Miage SID19 Arborescence / –*.html, *.jsp… –WEB-INF/ web.xml : descripteur de lapplication classes/ : les classes utilisées par lapplication (y compris les servlets) lib/ : les.jar utilisés par lapplication –META-INF/ context.xml : descripteur des ressources de lapplication (uniquement.war)

20 Miage SID20 Projet Web/Eclipse Créer une application avec un seul Servlet qui affiche « Bonjour Nancy !» avec un URL de type: –http:// /hello/servlet

21 Miage SID21 Eclipse File>New>Dynamic Web Project –Créer un projet (hello) File>New>Other>Web>Servlet –Créer le servlet HelloServlet (mettre du code) Ajouter le projet au serveur local et démarrer le serveur local Tester avec un navigateur (http://localhost/hello/HelloServlet)

22 Miage SID22 Web.xml Rajouter : HelloServlet /servlet Tester à nouveau

23 Miage SID23 Page daccueil Ajouter une page daccueil au projet (index.html)

24 Miage SID24 Il y a une vie après le développement Documentation Distribution Déploiement Tests

25 Miage SID25 Web.xml The name of the application C'mon, you know what goes into a description, don't you? guess_what_name_of_servlet Again, some description com.foo-bar.somepackage.TheServlet foo bar

26 Miage SID26 Web.xml name_of_a_servlet *.some_pattern image /image 30

27 Miage SID27 Modèle Nous proposons un « modèle » de projet qui sappuie sur Ant (à installer préalablement) Objectif : –Rester compatible avec un projet Eclipse –Intégrer une documentation –Engendrer une distribution (source ou binaire) –Faciliter le déploiement

28 Miage SID28 Exercice Ecrire une application composée dun servlet qui affiche « Hello Nancy ! » en utilisant le web-modele fournit

29 Miage SID29 Etapes Créer un dossier hello2 dans votre workspace Y recopier le contenu du dossier web- modele Créer un projet hello2 de type Dynamic Web sous Eclipse Recopier les sources du projet hello Tester

30 Miage SID30 Etapes Mettre à jour les fichiers –README.txt –CHANGELOG.txt –doc/*.html Engendrer une distribution source –Dans une fenêtre de commande: ant dist Déployer –Mettre à jour le fichier proj.properties –ant deploy

31 Miage SID31 Application « bonjour »

32 Miage SID32 Application « bonjour »

33 Miage SID33 Gestion des sessions HTTP : protocole sans état – Impossibilité de garder des informations dune requête à lautre (identifier un client dun autre) Utilisation de différentes solutions pour remédier au problème détat dont: – Cookies –HttpSession

34 Miage SID34 HttpSession //get the session object HttpSession session = request.getSession(); //get the resource Integer count = (Integer)session.getAttribute("count"); //if it is the first call, create it if (count == null) { count = new Integer(0); }else{//update the resource count = new Integer(count.intValue()+1); } // store the new resource session.setAttribute("count", count);


Télécharger ppt "Servlet M2 – MIAGE/SID"

Présentations similaires


Annonces Google