SERVLETS PRESENTATION

Slides:



Advertisements
Présentations similaires
Serveur d’applications JEE
Advertisements

Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
Servlet JSP & © Philippe Poulard.
Exposé de Système - Informatique et Réseau
Programmation Web Les JSP.
Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement.
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
Cours 6 : XML et les architectures N-tiers – Tier Applicatif

UV JSP JSP : Java Server Page
UV Servlets Les Servlets
Environnement Premier projet.
TP 3-4 BD21.
JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
JSP Java Server Pages Cours JSP.
Servlet JAVA.
Servlets 2 et 3.0, annotations et descripteurs dans Java EE 6
JSP 2 Crash Course Michel Buffa UNSA
Cours n°3 Les formulaires
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Université de Versailles-Saint-Quentin
CGI, Servlet. Script CGI, Servlet Motivation Exécution dun traitement coté serveur web Traitement de formulaire Génération de pages html à la volée Ex.
Connexion Web et Bases de Données : Les SERVLETS
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
Applications Internet
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
Développement Web en J2EE (Servlet & JSP)
Ajax Asynchronous JavaScript And XML
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Section 3: Le Web, le http et le HTML1 La programmation du Web Du côté client Code léger qui sexécute sur lordinateur client Javascript, Applets, Flash,
Création d'un projet Web avec Netbeans
Présentation Stéphane TALLARD Ingénieur en Informatique depuis 1996
Le langage ASP Les formulaires avec Request. Les formulaires sont employés pour transmettre des informations saisies par un client à une application Web.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Applications Internet Chapitre 7, Sections
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
JSTL JSP Standard Tag Library
Servlets.
JSP (Java Server Pages)
Servlets. 2 H. Fauconnier M2-Internet Contenu dynamique Perl/cgi indépendant de la plateforme Extensions du serveur exemple ASP M2-Internet 3 H. Fauconnier.
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Michel Coletta - Journées PATTERNS Avril Grenoble1 STRUTS Introduction Technologies Java Architecture Développement Enseigner quoi ?
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Initiation au web dynamique
Initiation au web dynamique - TP
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
Utilisation avancée.
Marc Le BihanStruts 1.x1 Marc Le Bihan. Struts 1.x2 Plan I)Développement web par Servlets et JSP. II)Prise en charge de Struts. III)Principe de fonctionnement.
Les servlets Java Les bases de la génération dynamique HTML en Java Sébastien Limet etGérard Rozsavolgyi Licence Professionnelle
Module I-C3 : Applications Web IUT R&T 2e année
Chapitre 2 Développement Web avec les technologies JSP/Servlets
UV J2EE Module Java Expert
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
Struts.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
1 / / 01 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS III
Développer des applications WEB avec Struts
M2 – MIAGE/SID Servlet et session M2 – MIAGE/SID
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Java - Servlet et JSP Servlets JSP (Java Server Pages) Tomcat
Les Java Server Pages Dans ce chapitre, nous allons :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
IFT 6800 Atelier en Technologies d’information Chapitre 5 Introduction aux Servelets & JSP.
JAVA EE 5 Q.R. C’est quoi une servlets?
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Technologie servlet Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
DWR Jean-Jacques LE COZ. Introduction Projet DWR Framework AJAX Projet Open Source commencé en 2004 Licence GPL (Apache Software License v2) Sponsorisé.
Transcription de la présentation:

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

LA CLASSE HttpServlet Classe abstraite obligeant à redéfinir les méthodes doGet et/ou doPost doGet répondra une requête de type GET d’un navigateur (pour transférer une petite qunatité d’infos transmises dans l’url) doPost répondra à une requête de type POST d’un navigateur (pour transférer une grande quantité d’infos dans le corps de la requête) Ces deux méthodes répondent à la requête http d’un 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.

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

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

UTILISATION DE L’OBJET 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("<html>"); out.println("<body BGCOLOR=\"#ffffc0\">"); out.println("<p>Un GET RECU : VOICI LA REPONSE</p>"); out.println("</body></html>"); }

DEPLOIEMENT D’UNE SERVLET SOUS TOMCAT Ex : web.xml <web-app> <servlet> <servlet-name>maServlet</servlet-name> <servlet-class>monPack.maServlet</servlet-class> (sans .class) </servlet> <servlet-mapping> <url-pattern>/maServlet</url-pattern> </servlet-mapping> </web-app> 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 l’appeler dans une requête http : url-pattern

APPEL D’ UNE SERVLET Dans l’url du navigateur http://localhost:8080/<path dans server.xml>/<url-pattern dans web.xml> Dans server.xml… <Context docbase= ‘c:\didier\monSite’ path= ‘/monSite’></Context> Dans web.xml… <url-pattern>/maServlet</url-pattern> http://localhost:8080/monSite/maServlet

APPEL D’ UNE SERVLET Dans un lien href <a href=“ /monSite/maServlet">Cliquez ici pour appeler maServlet </a> « /path/url-pattern » L’appel d’une servlet dans un lien href ou dans l’url du navigateur appelle la méthode doGet et non doPost, la méthode doPost ne peut être appelée qu’à partir d’un formulaire.

APPEL D’ UNE SERVLET Dans un formulaire <FORM METHOD=POST ACTION=“ /monSite/maServlet “> … </FORM>

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

Refaire le TD précédent en utilisant l’environnement NetBeans TD2 – SERVLET Refaire le TD précédent en utilisant l’environnement NetBeans

LES SERVLETS ET LES THREADS Illustration du partage de données : public class Compteur ….{ private int cptPartagé=0; public void doGet(…){ int cptPrivé=0; cptPrivé++; synchronized(this) { cptPartagé++; } 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

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); <html><body> <form action="/servlet/Servlet1" method=GET> <input type=text name=Pays/> <input type=submit/> </form> </body></html> http://host:8080/monsite/servlet/Servlet1?Pays=France

BONJOUR « prénom » « nom » TD3 - SERVLET En utilisant Netbeans, créer un site qui contient un formulaire permettant la saisie d’un numéro de client. Vérifier que le numéro ne contient que des chiffres avant de l’envoyer 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 »

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); <html><body> <form name=‘f1’ action=‘/site/servlet’ method="post"> <select name=‘liste’ size="3" multiple> <option value="un">un</option> <option value="deux">deux</option> <option value="trois">trois</option> </select> </form></body></html>

L’ OBJET REQUEST - getParameterNames() public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(« text/html »); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body BGCOLOR=\"#ffffc0\">"); Enumeration e=request.getParameterNames(); While( e.hasMoreElements()){ String param=(String)e.nextElement(); out.println(param+"="+request.getParameter(param)+”<br>”); } out.println("</body></html>"); out.close(); 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(); <html><body> <form action="/servlet/Servlet1" method=GET> <input type=text name=nom/> <input type=text name=prenom/> <input type=submit/> </form> </body></html> http://host:8080/monsite/servlet/Servlet1?nom=Dupont&prenom=Paul

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 d’une BD. ·        - Une servlet qui lit toutes les fiches client et les retourne sous la forme d’un tableau html.