M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr Servlet M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr.

Slides:



Advertisements
Présentations similaires
Cours de C – Séance dexercices 19 Octobre Objectif Ecrire un serveur HTTP Sans gérer la partie réseau, on utilisera un utilitaire pour cela Serveur.
Advertisements

Serveur d’applications JEE
IntroductionArchitecturesPropriétésTâches ANT Apports par rapport à uPortal Un seul fichier de configuration Ajout de librairies Ajout de CAS comme méthode.
FORMATION API GEOPORTAIL
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
Premiers pas avec Apache Ant Par Guillaume BITAUDEAU Le 16/10/2003.
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
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe

UV JSP JSP : Java Server Page
UV Servlets Les Servlets
Environnement Premier projet.
JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
Servlet JAVA.
11:16:331 Programmation Web Programmation Web : Formulaires HTML Jérôme CUTRONA
JSP 2 Crash Course Michel Buffa UNSA
J2EE : Framework Wicket et JibX
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
Applications Internet
JAVASERVER FACES Un framework Java pour le développement Web.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
TomCat M2 – MIAGE/SID
Génération automatique du code d'un device UPnP Utilisation de l'utilitaire de Didier Donsez Présentation écrite par Michel DHooge.
SERVLETS PRESENTATION
Tapestry - Eclipse Link
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Création d'un projet Web avec Netbeans
Présentation Stéphane TALLARD Ingénieur en Informatique depuis 1996
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Applications Internet Chapitre 7, Sections
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
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.
Adaptée du cours de Richard Grin
Initiation au web dynamique - TP
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
BOUSQUET Alexis - GUILLEMIN Vincent - PETIT Cédric
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
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
Chapitre 2 Développement Web avec les technologies JSP/Servlets
UV J2EE Module Java Expert
Découverte des Framework : SPRING & JAXB
Cours de programmation web
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
D4 : Organiser la recherche d'informations numériques
Struts.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
1 / / 01 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS III
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 :
IFT 6800 Atelier en Technologies d’information Chapitre 5 Introduction aux Servelets & JSP.
JAVA EE 5 Q.R. C’est quoi une servlets?
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
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:

M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr Servlet M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

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

Principe Navigateur Adressage Serveur Web Miage SID

Principe Navigateur HTTP/GET URL Serveur Web Miage SID

Principe URL Navigateur Request TomCat Serveur Web Miage SID

Principe Navigateur Request Objet Servlet Objet Servlet Objet Servlet TomCat Serveur Web Miage SID

Principe Navigateur Objet Servlet Response TomCat Serveur Web Miage SID

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

Principe Navigateur HTML/TXT Objet Servlet TomCat Serveur Web Miage SID

Classes Java Source: Leila Kefi-Khelif Miage SID

Cycle de vie N’existe pas Instanciation Initialisation Indisponible Destruction Appel service Miage SID

Démarrage du conteneur Cycle de vie Démarrage du conteneur N’existe pas Instanciation Initialisation Indisponible Disponible Destruction Appel service Miage SID

Cycle de vie N’existe pas N’existe pas N’existe pas Instanciation Appel de init() Appel de init() Appel de init() Initialisation Initialisation Initialisation Indisponible Indisponible Indisponible Disponible Disponible Disponible Destruction Destruction Destruction Service Service Service Miage SID

Cycle de vie N’existe pas Instanciation Initialisation Indisponible Appel de service() Destruction Service Miage SID

Timeout ou arrêt du conteneur Cycle de vie N’existe pas Instanciation Initialisation Indisponible Disponible Destruction Service Timeout ou arrêt du conteneur Miage SID

Cycle de vie N’existe pas Instanciation Initialisation Indisponible Libération Indisponible Disponible Destruction Service Miage SID

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("<HTML>\n" + "<HEAD><TITLE>Hello</TITLE></HEAD>\n" + "<BODY>\n" + "<H1>Hello Nancy !<H1>\n" + "</BODY></HTML>"); } Miage SID

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 d’un Servlet HttpServletRequest : classe servant à récupérer les paramètres d’une requête HTTP HttpServletResponse : classe servant à envoyer la réponse à d’une requête HTTP Miage SID

Arborescence <Contexte>/ *.html, *.jsp… WEB-INF/ META-INF/ web.xml : descripteur de l’application classes/ : les classes utilisées par l’application (y compris les servlets) lib/ : les .jar utilisés par l’application META-INF/ context.xml : descripteur des ressources de l’application (uniquement .war) Miage SID

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

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) Miage SID

Web.xml Rajouter : Tester à nouveau <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/servlet</url-pattern> </servlet-mapping> Tester à nouveau Miage SID

Page d’accueil Ajouter une page d’accueil au projet (index.html) Miage SID

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

Web.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name> The name of the application </display-name> <description> C'mon, you know what goes into a description, don't you? </description> <servlet> <servlet-name>guess_what_name_of_servlet</servlet-name> <description>Again, some description</description> <servlet-class>com.foo-bar.somepackage.TheServlet</servlet-class> <init-param> <param-name>foo</param-name> <param-value>bar</param-value> </init-param> </servlet> Miage SID

Web.xml <servlet-mapping> <servlet-name>name_of_a_servlet</servlet-name> <url-pattern>*.some_pattern</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>image</servlet-name> <url-pattern>/image</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app> Miage SID

Modèle Nous proposons un « modèle » de projet qui s’appuie 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 Miage SID

Exercice Ecrire une application composée d’un servlet qui affiche « Hello Nancy ! » en utilisant le web-modele fournit Miage SID

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 Miage SID

Etapes Mettre à jour les fichiers Engendrer une distribution source 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 Miage SID

Application « bonjour » Miage SID

Application « bonjour » Miage SID