Les servlets Le langage Java Les Servlets XVII-1 JMF



Documents pareils
JavaServer Pages (JSP)

Web Tier : déploiement de servlets

Groupe Eyrolles, 2005, ISBN :

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Les architectures 3-tiers Partie I : les applications WEB

Architecture Orientée Service, JSON et API REST

Le développement d applications Web

Mise en œuvre des serveurs d application

Utilisation de Jakarta Tomcat

Traitement des données de formulaires. Accès aux BD avec JDBC Servlets - M. Baron - Page

Jacques Lonchamp. Conception. d applications en Java/JEE. Principes, patterns et architectures

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Applications et Services WEB: Architecture REST

RMI le langage Java XII-1 JMF

Documentation CAS à destination des éditeurs

Cours 9 : Servlet, JSP, corba

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Aspects techniques : guide d interfaçage SSO

Le développement d applications Web. François Charoy Pascal Molli Pascal Urso

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Application Web et J2EE

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Architectures web/bases de données

Environnements de Développement

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Programmation Web. Introduction

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

1. Installation d'un serveur d'application JBoss:

Cloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds

Méta-annuaire LDAP-NIS-Active Directory

Implementing a simple RMI Application over the Internet (using and comparing HTTP tunneling, RMI Proxy)

Développement des Systèmes d Information

V- PROGRAMMATION CLIENT / SERVEUR AVEC LES SGBD

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programmation Web. Madalina Croitoru IUT Montpellier

Application web de gestion de comptes en banques

Java pour le Web. Cours Java - F. Michel

Réutilisation et Composants. Partie IV : Composants pour les applications distribuées - l Exemple des Enterprise Java Beans - JEE

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Java - MySQL. Code: java-mysql

Formation en Logiciels Libres. Fiche d inscription

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Vulnérabilités et sécurisation des applications Web

Jahia CMS ET Portal Version 5.0

Programmation Internet en Java


Introduction aux «Services Web»

L3 informatique TP n o 2 : Les applications réseau

Hébergement de sites Web

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

JOnAS 5. Serveur d application d

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Introduction à Sign&go Guide d architecture

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Module BD et sites WEB

5. Architecture et sécurité des systèmes informatiques 5.1 Architecture technique.

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Grenoble INP Genie Industriel G-SCOP Université Joseph Fourier CNRS. Stages d excellence L2 Mathématiques Informatiques

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

A. Architecture du serveur Tomcat 6

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Java Naming and Directory Interface

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

Architectures client/serveur

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Introduction à la plateforme J2EE

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Remote Method Invocation (RMI)

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Programmeur Java 1.4 et 5.0

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Catalogue des Formations Techniques

TRANSFERT DE LA BASE DE DONNEES DE LA BIBLIOTHEQUE DU LSE VERS LE WEB

Introduction à HTTP. Chapitre HTTP 0.9

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

10. Base de données et Web. OlivierCuré

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Chapitre 1 Windows Server

Cours en ligne Développement Java pour le web

Compte Rendu d intégration d application

Business Process Execution Language

Apache : analyse d un succès passé et présent

Bases Java - Eclipse / Netbeans

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Présentation Alfresco

4D WebStar. WebStar, leader des serveurs internet sur Macintosh. Olivier Deschanels Simil Guetta Doug Finley. 4D WebStar. Histoire de WebStar

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Transcription:

Les Servlets XVII-1

servlet =? Une servlet est un programme (plug-in) à ajouter à un serveur (quel qu'il soit). Ce cours a trait à la programmation Java coté serveur (J2EE ) Pour l'instant les serveurs acceptant des servlets sont plutôt des serveurs Web. Contre-exemple : serveur de mail qui détruit les mails contenant des virus. XVII-2

Motivation et historique Nécessité d'avoir des pages HTML dynamiques i.e. pages créées lors de la requête (météo, cours de la bourse, vente aux enchères, etc.) Technologie des scripts CGI. Le serveur Web demande à lancer un programme par le protocole CGI Inconvénient : nécessite de créer un process (sauf technique propriétaire) XVII-3

CGI : la technique Le serveur Web, lorsqu'une URL de script CGI est demandée, passe la main au programme adéquat qui exécute le script. Ce programme génère la partie dynamique en HTML. La page HTML est complétée par le serveur Web et retournée au client Web. XVII-4

Servlets La technique des CGI en Java MAIS Sans créer de processus + toute la puissance de Java (accès aux divers domaines de l'informatique : BD, multimédia, réseau, objets distribués, composants, etc.) + indépendance de la plate-forme et du serveur XVII-5

Comment ça marche? Le serveur (Web) possède désormais un interpréteur Java => il n'y a pas de processus créé lors de l'exécution de code Java Cf. les clients Web possèdent un interpréteur Java permettant de lancer des applets. D'où le nom de servlets. XVII-6

Moteurs de servlets Pour exécuter des servlets, il faut un moteur de servlets dans le serveur Web. Ces moteurs sont des plug-in pour des serveurs Web existants ou bien des serveurs Web aux mêmes Plug-in : deux candidats : JRun (www.allaire.com), tomcat (jakarta.apache.org) XVII-7

Serveurs Web et servlets Il existe des serveurs Web qui traitent les servlets (et JSP ) : IBM WebSphere iplanet Enterprise 4.x (ex Netscape) Voir à java.sun.com/products/servlet XVII-8

Tomcat Développé par la communauté qui implémente les spécifs servlets. Téléchargeable (en version d'utilisation élémentaire) gratuitement à http://jakarta.apache.org/downloads/bin index.html Plug-in de Apache v1.3 ou plus, Microsoft IIS v4.0 ou plus, Est aussi un mini-serveur Web. XVII-9

Programmation des servlets Utilise deux paquetages : javax.servlet : paquetage générique javax.servlet.http : paquetage pour serveurs Web Ces paquetages ne sont pas dans J2SE 1.4 Sont des paquetages supplémentaires. Il sont intégrés dans J2EE voir à http://java.sun.com/j2ee/ XVII-10

Documentation et tutorial Documentation à http://java.sun.com/j2ee/j2sdk ee/techdocs/api/index.html Tutorial à : http://java.sun.com/docs/books/tu torial/servlets/index.html XVII-11

Les états d'une servlet Cf. les états d'une applet. Le passage d'un état à un autre est automatique fait par le conteneur de servlets. Avant chargement de la servlet Servlet chargé init() puis service(...) Servlet exécuté service(...) Servlet déchargé destroy() Chargement = chargement en mémoire du moteur de servlets. Le conteneur de servlets lance la méthode service( ) à chaque requête. XVII-12

Méthodes fondamentales d'une servlet Les trois méthodes public void init(), public void service( ), public void destroy() sont définies dans la classe abstraite de base javax.servlet.genericservlet. service(...) contient deux paramètres qui modélisent la requête et la réponse XVII-13

Servlet pour serveur Web On a de nouveau les trois méthodes public void init(), public void service( ), public void destroy() spécialisées dans la classe abstraite de base javax.servlet.http.httpservlet qui sont lancées automatiquement. XVII-14

Construire une servlet pour serveur Web Cf. construction des applets On construit une classe qui hérite de la classe javax.servlet.http.httpservlet On spécialise les méthodes qui nous intéressent On dépose cette classe «au bon endroit» du serveur Web XVII-15

service(...) dans HttpServlet Contient deux paramètres : protected void service(httpservletrequest req, HttpServletResponse resp) throws ServletException, java.io.ioexception Cette méthode écrite dans HttpServlet redirige la requête suivant son type http. Méthode HTTP GET => doget( ) Méthode HTTP POST => dopost( ) XVII-16

doget( ), dopost( ) Ont les mêmes paramètres que service( ) de HttpServlet : public void doxxx(httpservletrequest request, HttpServletResponse response) throws ServletException, java.io.ioexception En général on spécialise l'une des deux méthodes et la seconde appelle la première. XVII-17

Récupérer les données de la requête La requête envoie ses données par http Souvent des champs d'un formulaire On récupère ces données par String getparameter(string nomcomposantformulaire) sur request Cf. les applets XVII-18

Envoyer une réponse On positionne le type MIME par : void setcontenttype(string type) On récupère le canal de sortie texte par : PrintWriter getwriter() sur response XVII-19

Une servlet : code complet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MaPremiereServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { // Etape 1. Spécifier le type MIME du contenu de la réponse response.setcontenttype("text/html"); // Etape 2. Récupère le PrintWriter pour envoyer des données au client PrintWriter out = response.getwriter(); } // Step 3. Envoyer l information au client out.println("<html>"); out.println("<head><title>bonjour</title></head>"); out.println("<body>"); out.println("<h1> Bonjour à tous </h1>"); out.println( Il est : " + new java.util.date()); out.println("</body></html>"); } public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { doget(request, response); } XVII-20

Démonstration XVII-21

Bibliographie Tutorial servlets : http://java.sun.com/docs/books/tutorial /servlets/index.html Page de départ de la technologie servlets : http://java.sun.com/products/servlet/in dex.html XVII-22