Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique - 2010-2011



Documents pareils
Web Tier : déploiement de servlets

Le développement d applications Web

Utilisation de Jakarta Tomcat

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.

Les architectures 3-tiers Partie I : les applications WEB

JavaServer Pages (JSP)

Architecture Orientée Service, JSON et API REST

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

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Applications et Services WEB: Architecture REST

JOnAS Day 5.1. Outils de développements

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

Java pour le Web. Cours Java - F. Michel

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

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

Jahia CMS ET Portal Version 5.0

TP1 : Initiation à Java et Eclipse

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

Projet Java EE Approfondi

Bases Java - Eclipse / Netbeans

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

Mise en œuvre des serveurs d application

Aspects techniques : guide d interfaçage SSO

Documentation CAS à destination des éditeurs

TP1 : Initiation à Java et Eclipse

Compte Rendu d intégration d application

Application Web et J2EE

Introduction à Java. Philippe Genoud.

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

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

A. Architecture du serveur Tomcat 6

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Création d une application JEE

Initiation à JAVA et à la programmation objet.

Environnements de Développement

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.

Configuration système requise

Formation en Logiciels Libres. Fiche d inscription

Introduction à la plateforme J2EE

JOnAS 5. Serveur d application d

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

TP1. Outils Java Eléments de correction

Application web de gestion de comptes en banques

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)

Programmeur Java 1.4 et 5.0

Applications orientées données

SOAP Concepts Application à Glassfish

Architectures client/serveur

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Programmation Orientée Objet

4. SERVICES WEB REST 46

Tutoriel d installation de Hibernate avec Eclipse

Java Naming and Directory Interface

Java Enterprise Edition

Développement des Systèmes d Information

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

I. Instalation de l environnement JDK et JRE : II. Configuration outil Reporting : Pentaho... 4

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

Application de lecture de carte SESAM-Vitale Jeebop

Guide de déploiement d'applications FormPublisher

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

Introduction aux «Services Web»

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

2 Chapitre 1 Introduction

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

Rapport de projet de fin d études

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Catalogue des Formations Techniques

La base de données XML exist. A. Belaïd

PRODUCTS LIST (updated 11th January 2010)

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

Méta-annuaire LDAP-NIS-Active Directory

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Un serveur d'archivage

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

Catalogue des formations 2015

Cedric Dumoulin (C) The Java EE 7 Tutorial

Cours en ligne Développement Java pour le web

Pentaho. présentation

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Notre Catalogue des Formations IT / 2015

Groupe Eyrolles, 2003 ISBN : X

Java Licence professionnelle CISII,

Présentation de Java. Olivier de Pertat IT GROUP

31 ans - 8 ans d'expérience

Environnements de développement (intégrés)

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

IBM DB2 Alphablox. d administration GC

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

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

J2EE - Introduction. Développement web - Java. Plan du chapitre

1 JBoss Entreprise Middleware

Transcription:

1 / 34 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique - 2010-2011

2 / 34 Plan Plan 1 Introduction 2 Servlet 3 Classes et interfaces 4 Mise en application 5 Bibliographie

3 / 34 Introduction Programmation Web avec Java Objectifs initiation à la programmation Web avec Java basé sur J2EE : ensemble d API pour développer des sites web avec une technologie Java Definition (J2EE) Java 2 Platform Entreprise Edition est un environnement pour le développement d applications Web en Java. Initialement développé par Sun puis maintenant chez Oracle (rachat avril 2009).

4 / 34 Introduction Programmation Web avec Java Objectifs initiation à la programmation Web avec Java basé sur J2EE : ensemble d API pour développer des sites web avec une technologie Java Definition (J2EE) Java 2 Platform Entreprise Edition est un environnement pour le développement d applications Web en Java. Initialement développé par Sun puis maintenant chez Oracle (rachat avril 2009).

5 / 34 Servlet Servlet Servlet

6 / 34 Servlet Qu est ce qu un Servlet? Definition (Servlet) un programme Java compilé (.class) exécuté par un serveur web dédié invoqué à travers une URL Exemple ajout nouveau client.html lié á AjoutClient.class

7 / 34 Servlet Qu est ce qu un Servlet? Definition (Servlet) un programme Java compilé (.class) exécuté par un serveur web dédié invoqué à travers une URL Exemple ajout nouveau client.html lié á AjoutClient.class

8 / 34 Servlet Les serveurs J2EE Serveurs Serveurs aussi qualifiés de conteneurs de servlets : Tomcat (Apache) Websphere (IBM) GlassFish (SUN Microsystems) JBoss (Red Hat) voir aussi Wikipedia pour une liste exhaustive http://fr.wikipedia.org/wiki/conteneurs_de_servlets

9 / 34 Servlet Les serveurs J2EE Serveurs Serveurs aussi qualifiés de conteneurs de servlets : Tomcat (Apache) Websphere (IBM) GlassFish (SUN Microsystems) JBoss (Red Hat) voir aussi Wikipedia pour une liste exhaustive http://fr.wikipedia.org/wiki/conteneurs_de_servlets

10 / 34 Servlet Les serveurs J2EE Serveurs Serveurs aussi qualifiés de conteneurs de servlets : Tomcat (Apache) Websphere (IBM) GlassFish (SUN Microsystems) JBoss (Red Hat) voir aussi Wikipedia pour une liste exhaustive http://fr.wikipedia.org/wiki/conteneurs_de_servlets

11 / 34 Servlet Les serveurs J2EE Serveurs Serveurs aussi qualifiés de conteneurs de servlets : Tomcat (Apache) Websphere (IBM) GlassFish (SUN Microsystems) JBoss (Red Hat) voir aussi Wikipedia pour une liste exhaustive http://fr.wikipedia.org/wiki/conteneurs_de_servlets

12 / 34 Servlet Les serveurs J2EE Serveurs Serveurs aussi qualifiés de conteneurs de servlets : Tomcat (Apache) Websphere (IBM) GlassFish (SUN Microsystems) JBoss (Red Hat) voir aussi Wikipedia pour une liste exhaustive http://fr.wikipedia.org/wiki/conteneurs_de_servlets

13 / 34 Servlet Lien servlet / URL : WEB-INF Structure du répertoire WEB-INF Projet WEB INF index.html classes web.xml HelloWorld.class

14 / 34 Servlet Lien servlet URL le fichier web.xml descripteur de déploiement il permet de faire la liaison entre une URL (.html,.jsp) et le servlet (.class)

15 / 34 Servlet Exemple de fichier web.xml Exemple de fichier web.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE web-app PUBLIC 3 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 4 "http://java.sun.com/dtd/web-app 2 3.dtd"> 5 <web-app> 6 <servlet> 7 <servlet-name>bonjour</servlet-name> 8 <servlet-class>helloworld</servlet-class> 9 </servlet> 10 <servlet-mapping> 11 <servlet-name>bonjour</servlet-name> 12 <url-pattern>/say hello.htm</url-pattern> 13 </servlet-mapping> 14 </web-app> 15

16 / 34 Servlet Structure de base d un servlet Exemple 1 import java.io.printwriter; 2 import javax.servlet.servletexception; 3 import javax.servlet.http.httpservlet; 4 import javax.servlet.http.httpservletrequest; 5 import javax.servlet.http.httpservletresponse; 6 7 public class HelloWorld extends HttpServlet 8 { 9 protected void doget(httpservletrequest request, 10 HttpServletResponse response) 11 throws ServletException, java.io.ioexception { 12 PrintWriter out = response.getwriter(); 13 response.setcontenttype("text/html"); 14 out.println ("hello world"); 15 } 16 17 protected void dopost(httpservletrequest request, 18 HttpServletResponse response) 19 throws ServletException, java.io.ioexception { 20 doget (request, response); 21 } 22 } 23

Servlet Déploiement et fichier WAR Déploiement consiste en l installation des fichiers (servlets, html, JSP) sur le conteneur de servlets WAR file un fichier WAR (Web Application ARchive) est un fichier JAR utilisé pour contenir un ensemble de JavaServer Pages, servlets, classes Java, fichiers XML, et des pages web statiques 17 / 34

18 / 34 Classes et interfaces Classes et Interfaces Classes et Interfaces

Classes et interfaces Classe HttpServlet classe HttpServlet gère les requêtes GET ou POST méthodes void doget(request, response) : appelé lors du traitement d une requête GET void dopost(request, response) : appelé lors du traitement d une requête POST void init() : initialisation au démarrage (une seule fois) void destroy() : arrêt du servlet 19 / 34

Classes et interfaces Classe HttpServlet classe HttpServlet gère les requêtes GET ou POST méthodes void doget(request, response) : appelé lors du traitement d une requête GET void dopost(request, response) : appelé lors du traitement d une requête POST void init() : initialisation au démarrage (une seule fois) void destroy() : arrêt du servlet 20 / 34

21 / 34 Classes et interfaces Interface HttpServletRequest Interface HttpServletRequest encapsule des données de la requête, notamment : paramètres de formulaire : <form> </form> attributs cookies session

Classes et interfaces Interface HttpServletRequest méthodes String getparameter(string) : valeur du paramètre String[] getparametervalues(string) : valeurs du paramètre (cas d une liste) void setattribute(string nom, Object obj) Object getattribute(string nom) Cookie[] getcookies() HttpSession getsession() RequestDispatcher getrequestdispatcher(path) : pour faire un forward 22 / 34

23 / 34 Classes et interfaces Interface HttpServletRequest, exemple Exemple 1 2 // recupere les champs nom et prenom d un formulaire 3 String nom=reponse.getparameter("nom").trim(); 4 String prenom=reponse.getparameter("prenom").trim(); 5 6 // en cas d erreur 7 if (nom.isempty() prenom.isempty()) { 8 request.setattribute("error msg", 9 "nom ou le prenom ne doivent pas etre vides"); 10 RequestDispatcher disp=request.getrequestdispatcher("ajoute personne.jsp"); 11 disp.forward(request, response); 12 } 13

24 / 34 Classes et interfaces Interface HttpServletResponse Interface HttpServletResponse permet d écrire des données texte au sein du navigateur obtenir le flux de sortie par getwriter() spécifier le format de sortie setcontenttype( text/html )

25 / 34 Classes et interfaces Interface HttpServletResponse, exemple Exemple 1 2 PrintWriter out = response.getwriter(); 3 response.setcontenttype("text/html"); 4 out.println ("hello world"); 5

26 / 34 Classes et interfaces Interface RequestDispatcher Interface RequestDispatcher propose deux méthodes forward(request, response) : passe le contrôle à une autre servlet, le flux de sortie produit par la servlet courante est supprimé include(request, response) : inclusion dynamique d un servlet, équivalent à un appel de sous-programme

27 / 34 Classes et interfaces Interface HttpSession Interface HttpSession permet de gérer la session courante void setattribute(string nom, Object obj) : positionne un attribut à la valeur donnée Object getattribute(string nom) : obtenir la valeur de l attribut Enumeration getattributenames() : liste des noms d attributs removeattribute(string nom) : supprime un attribut

28 / 34 Mise en application Mise en application Applications

29 / 34 Mise en application Installation des logiciels Logiciels à installer serveur Tomcat (www.apache.org) dans /opt JDK 1.6 (java.sun.com) ou openjdk (Synaptic) J2EE (java.sun.com) /opt Eclipse (www.eclipse.org)

30 / 34 Mise en application Hello World! création du servlet HelloWorldServlet écrire un servlet qui affiche Hello World : créer la structure des répertoires créer les fichiers web.xml et HelloWorldServlet.java créer un makefile pour automatiser la compilation et la création du fichier war

31 / 34 Mise en application Formulaire création du servlet FormProcessorServlet écrire un servlet qui récupère les informations d un formulaire (nom, prénom) et les affiche dans une nouvelle page html

Mise en application Formulaire + ant utilisation de ant remplacer le makefile par un fichier build.xml qui permettra d automatiser : compilation, génération du fichier war et déploiement 32 / 34

33 / 34 Bibliographie Bibliographie Bibliographie

34 / 34 Bibliographie Bibliographie, sitographie Développement Web avec J2EE, O Reilly, Eric Sarrion, Paris, 2005, ISBN 2-35402-140-2 Agile Java Development with Spring, Hibernate and Eclipse, Anil Hemrajani, Developer s Library, 2006, ISBN 9780672328961 http://java.sun.com/products/servlet/ SUN http://java.developpez.com/cours/servlets/ Tutorial par Julien Gilli