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

SERVLETS PRESENTATION Une servlet est utilisée pour créer des pages web dynamiques Classe java sexécutant à lintérieur dun moteur de servlets. Elle reçoit.

Présentations similaires


Présentation au sujet: "SERVLETS PRESENTATION Une servlet est utilisée pour créer des pages web dynamiques Classe java sexécutant à lintérieur dun moteur de servlets. Elle reçoit."— Transcription de la présentation:

1 SERVLETS PRESENTATION Une servlet est utilisée pour créer des pages web dynamiques Classe java sexécutant à lintérieur dun moteur de servlets. Elle reçoit une requête http et répond en renvoyant une page html LAPI de développement est constitué de deux packages : Javax.servlet.* et Javax.servlet.http.* Le cas normal dutilisation est de sous classer la classe HttpServlet import javax.servlet.*; import javax.servlet.http.*; public class Servlet1 extends HttpServlet { }

2 LA CLASSE HttpServlet Classe abstraite obligeant à redéfinir les méthodes doGet et/ou doPost doGet répondra une requête de type GET dun navigateur (pour transférer une petite qunatité dinfos transmises dans lurl) doPost répondra à une requête de type POST dun navigateur (pour transférer une grande quantité dinfos dans le corps de la requête) Ces deux méthodes répondent à la requête http dun navigateur La méthode init() : appelée une seule fois au moment ou la servlet est chargée dans le conteneur de servlet – utilisée souvent pour initialiser des variables globales de la classe. La méthode destroy() : appelée avant que la servlet soit déchargée du conteneur – utilisée pour faire le ménage déventuelles ressources allouées.

3 UNE SERVLET MINIMUM import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class Servlet1 extends HttpServlet { public void init() throws ServletException { // chargement } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // requête GET } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // requête POST } public void destroy() { //déchargement }

4 LES OBJETS REQUEST & RESPONSE lobjet request : sert à récupèrer ce qui vient du client (noms et valeurs des paramètres en provenance dun formulaire) lobjet response : sert à retourner des informations au client (ouverture dun flux décriture vers le client)

5 UTILISATION DE LOBJET RESPONSE import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class Servlet1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(text/html); // type de doc renvoyé PrintWriter out = response.getWriter(); // flux de sortie vers client // construction dynamique de la page HTML à renvoyer out.println(" "); out.println(" Un GET RECU : VOICI LA REPONSE "); out.println(" "); }

6 DEPLOIEMENT DUNE SERVLET SOUS TOMCAT 1) Copier le fichier.class de la servlet avec son dossier de package qui la contient dans WEB_INF/classe Ex :WEB_INF/classes/monPack/maServlet.class 2) Editer le fichier descripteur de déploiement web.xml qui se trouve dans WEB-INF. -Indiquer le nom de la servlet -Son package et le nom de sa classe -Indiquer une url qui nous permettra de lappeler dans une requête http : url-pattern Ex : web.xml maServlet monPack.maServlet (sans.class) maServlet /maServlet

7 APPEL D UNE SERVLET Dans lurl du navigateur / Dans server.xml… Dans web.xml… /maServlet

8 APPEL D UNE SERVLET Dans un lien href Cliquez ici pour appeler maServlet « /path/url-pattern » Lappel dune servlet dans un lien href ou dans lurl du navigateur appelle la méthode doGet et non doPost, la méthode doPost ne peut être appelée quà partir dun formulaire.

9 APPEL D UNE SERVLET Dans un formulaire …

10 TD1 – SERVLET Créer un nouveau site qui contiendra une seule page html. Cette page contiendra un lien (HREF), qui appellera une servlet La servlet renverra une page html qui affichera « BONJOUR MONDE ! » Deux grandes étapes : Créer le site et le déployer sous Tomcat Créer la servlet et la déployer sous Tomcat

11 TD2 – SERVLET Refaire le TD précédent en utilisant lenvironnement NetBeans

12 LES SERVLETS ET LES THREADS Les servlets sont multi – threads Il y a une seule instance de servlet pour « n » clients Les clients se partagent le meme code Un thread est créé pour chaque méthode doGet ou doPost appelée Tout ce qui est dans le corps de la classe de la servlet, variables globales etc…, est partagé entre tout les clients. Tout ce qui est déclaré dans les méthodes doGet ou doPost sont des données privées pour le thread Illustration du partage de données : public class Compteur ….{ private int cptPartagé=0; public void doGet(…){ int cptPrivé=0; cptPrivé++; synchronized(this) { cptPartagé++; }

13 L OBJET REQUEST – getParameter(np) request.getParameter(nom_parametre); Récupère la valeur du paramètre dont le nom est passé en argument. EX : String valeur=request.getParameter(Pays);

14 TD3 - SERVLET En utilisant Netbeans, créer un site qui contient un formulaire permettant la saisie dun numéro de client. Vérifier que le numéro ne contient que des chiffres avant de lenvoyer au serveur. Créer une servlet qui va récupérer dans une BD les valeurs des nom et prénom du client à partir de son numéro, puis retourner au client: BONJOUR « prénom » « nom »

15 L OBJET REQUEST - getParameterValues(np) - request.getParameterValues(nom_parametre); Récupère toutes les valeurs du paramètre passé en argument (choix multiples dans liste). EX : String[] valeurs=request.getParameterValues(liste); un deux trois

16 L OBJET REQUEST - getParameterNames() - request.getParameterNames(); Récupère la liste des nom de paramètres dans un objet de type Enumeration. Ex : Enumeration e=request.getParameterNames(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(« text/html »); PrintWriter out = response.getWriter(); out.println(" "); Enumeration e=request.getParameterNames(); While( e.hasMoreElements()){ String param=(String)e.nextElement(); out.println(param+"="+request.getParameter(param)+ ); } out.println(" "); out.close(); }

17 TP - SERVLET Réaliser un site web sous Tomcat qui permet de saisir des fiches clients: · - Un formulaire de saisie de fiche client On forçera la saisie des noms et prénoms en majuscule · - Une servlet qui récupère les infos client et les enregistre dans une table client dune BD. · - Une servlet qui lit toutes les fiches client et les retourne sous la forme dun tableau html.


Télécharger ppt "SERVLETS PRESENTATION Une servlet est utilisée pour créer des pages web dynamiques Classe java sexécutant à lintérieur dun moteur de servlets. Elle reçoit."

Présentations similaires


Annonces Google