Environnement Premier projet.

Slides:



Advertisements
Présentations similaires
Didacticiel Mon EBSCOhost
Advertisements

JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Le struts validator – framework de validation
GPO Group Policy Object
DTD Sylvain Salvati
1 : Léditeur 2 : Le traitement dimages. 3 : La visionneuse dimage. FRONTPAGE PAINT SHOP PRO ACD SEE.
PROGRAMMATION LOGICIEL PL7 MICRO Consignes
Programmation Web Les JSP.
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
Candidature sur Postes ECLAIR : SIAM2 via iPROF
TP 3-4 BD21.
Servlet JAVA.
Découvrez notre plate-forme de gestion de listes de diffusion.
Sécurité Informatique
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
Bibliothèque Patchouli
Mars 2013 Grégory Petit
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
JAVASERVER FACES Un framework Java pour le développement Web.
Tableau croisé dynamique sous Excel (TCD).
SERVLETS PRESENTATION
Les instructions PHP pour l'accès à une base de données MySql
Auto Exterior Scoop SQP PROCESSUS 24 juillet 2006 Version validée V01.
Création d'un diaporama Création d'un diaporama
28 novembre 2012 Grégory Petit
Publispostage Menu Outils / Lettres et publipostage
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
FICHIERS : Définition : Algorithme général:
Création d'un projet Web avec Netbeans
PROJET DE GENIE LOGICIEL 2005
JSP (Java Server Pages)
Initialisation des sites web Étapes importantes. La conversion de vos comptes Web nest pas terminée (après discussion avec les techniciens voici comment.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
Exploration de la programmation android Formation Assurer par: Club FreeWays Réalisé par: BOUHJJA Lamia.
PHP 5° PARTIE : LES COOKIES
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Struts.
 Formulaires HTML : traiter les entrées utilisateur
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
Support.ebsco.com Didacticiel Mon EBSCOhost Didacticiel.
Comprendre le SGBDR Microsoft Access – partie 2
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.
Conception des pages Web avec
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
TD N°5: Une GPAO pour l’usine Odyssée
Importations et exportations On peut transférer les données vers 40 logiciels de comptabilité. Cela génère des fichiers d’écritures. Cette partie permet.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Dreamweaver le retour Avec Les Formulaires Les Calques
FORMULAIRES FOMULAIRE Permet à l’utilisateur d’entrer des renseignements le concernant. Utilisation –Inscription sur un site –Mise à jour d’une base.
Les formulaires Les calques Les comportements Les scénarios Les modèles Les feuilles de styles (CSS) La mise en ligne Les formulaires permettent à l’utilisateur.
DREAMWEAVER MX2 - Séance 2 Les calques Les comportements Les scénarios Les formulaires Les feuilles de style Les modèles Les cadres Mise en ligne Jérôme.
Formation.
Dreamweaver 2 Feuilles de Style CSS Formulaires Calques Comportements
FACTORY systemes Module 2 Section 1 Page 2-3 Installation d’Industrial SQL FORMATION InSQL 7.0.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
TD N°5: Une GPAO pour l’usine Odyssée. Lancement du logiciel Logiciel « Usine Odyssée 7 » disponible dans … Entrer votre nom et un nom d’entreprise de.
Transcription de la présentation:

Environnement Premier projet

Mise en place : NetBean Création d’un nouveau projet Installer Tomcat (sans service, pkg zip)si besoin. Lancer NetBean Nouveau projet type Application web Définir le serveur de développement et L’outil de d’analyse des requêtes Analyse des fichiers créés et de l’espace de développement Arborescence du répertoire Classement des fichiers Vues des librairies accessibles Les fichiers de configuration Les outils

TD1 : Environnement Eclipse vs NetBean … Installation de tomcat Première servlet Les objets implicites Première jsp Jouez avec le conteneur Filtres Listeners

Rappel des bases Tomcat classe java dérivée de HttpServlet Méthodes : Servlet : classe java dérivée de HttpServlet Méthodes : Init() Destroy() Service(request, response) Objets implicites Session Config Configuration dans web.xml Tomcat Serveur web et conteneur de servlet Utilise le fichier web.xml de l’application web pour donner l’accès aux servlet Possède une configuration propre prédéfinie et modifiable par ses fichiers web.xml, server.xml, context.xml NetBean Projet application web Environnement de développement Contrôle le serveur tomcat pour faciliter la mise en place des servlets Génère les fichiers de configuration automatiquement avec des valeurs par défaut Tout les objets de base se créent simplement par click droit dans l’arborescence des répertoires de l’application, puis NEW : Servlets, JSP, Listeners, Filters …etc. Possède des outils de visualisation de l’état de l’application

Première servlet Ecrivez votre première servlet dans votre logiciel de développement. Package : servlets à créer dans le package sources Nom de classe : HelloWorldServlet Une fois écrite, ou plutôt générée par le logiciel, éditer le fichier web.xml du projet et voyez les changements. Nom de servlet : HelloWorld Url d’accès : ~ServletTP1/Bienvenue Ajouter lui un paramètre : Nom : « message » Valeur : « paramètre de config » Faites lui dire quelque chose ! Regarder la structure du code auto généré.(Répertoire work pour tomcat) Jouez avec l’éditeur à l’aide de CTRL+ESPACE pour découvrir les objets mis à disposition de notre servlet: Objets passés en paramètres : request, response Méthodes obtenues par la dérivation de HttpServlet : getServletConfig, getServletContext, getInitParameter …

Première servlet Elle devra ensuite répondre par un « Hello world ! » en bon et du forme. Répondre au client un hello world sympa, pensez à une mise en forme HTML Afficher le paramètre « message » que vous avez déclaré au départ Déclarer un paramètre pour le contexte d’application et afficher le dans la console Surcharger les methodes init() et destroy() pour afficher un message dans la console Genre : servlet initialisée, servlet détruite Mieux : Récupérez nom de la servlet pour compléter ces messages. Créez un fichier html que vous nommerez « formBonjour .html» contenant deux formulaires. Chaque formulaire comportera une zone de saisie texte nommée « nom » et pointera sur la servlet Le premier formulaire utilisera une method GET Le second avec une method POST Placez cette page en accueil du site Votre servlet répondra aux formulaires en indiquant la méthode choisie (get/post) Et dans les deux cas ajouter un message de réponse. Observez les objets passés en paramètres à la servlet : Récupérez la saisie des formulaires et renvoyez les dans une phrase : Hello « NOM_SAISI », saisi dans un des formulaires de type « TYPE(GET/POST) »

Listeners Créer un listener pour le contexte d’application Créer un package « listeners » Créer la Class EcouteurApplication implémentant ServletContextListener Renseigner le fichier web.xml ou étudier le code généré dans web.xml. Servez-vous des outils de NetBean pour gagner du temps ! Afficher un message à la création du contexte et à sa destruction. Paramétrer ces messages dans web.xml et modifier la classe pour qu’elle récupère ces informations.

Filters Servez-vous des outils de NetBean pour gagner du temps ! Créer un filtre pour toutes les requêtes sur l’application Créer un package «filters » Créer la Class filtreApplication implémentant Filter Renseigner le fichier web.xml ou étudier le code généré dans le web.xml Filtre Mapping Servez-vous des outils de NetBean pour gagner du temps ! Etudier le code généré pour la classe du filtre: BeforeProcessing AfterProcessing DoFilter Pour chaque étape, afficher son nom (de l’étape) dans la console. Ils doivent apparaître dans l’ordre, before, do, after Créer un second filtre, pour les requêtes sur la servlet HelloWord uniquement Réaliser les mêmes affichages que précédemment Que remarquez-vous à l’affichage console ? Comment comprenez-vous l’argument : FilterChain chain Afficher sur la console le contenu du paramètre « nom » provenant de la requête Insérer dans la réponse un message provenant d’un paramètre que vous aurez spécifié dans la configuration du filtre dans le web.xml Un message avant en BeforeProcessing et un message après en AfterProcessing. Ces paramètres s’affichent-t-ils lorsque la servlet est appelée ? La solution à ce délicat problème tient au buffer de sortie. S’il est cloturé trop tôt par un autre élément par exemple…

Beans Créer un nouveau package « beans » dans le répertoire sources. Créer un classe Compteur Champ : int n initialisé à zéro; Getter et setter appropriés Une méthode : increment() qui incrémente n Créer une nouvelle servlet CompteurServlet accessible à « /Compteur » Ajouter lui un champ compteurField de type Compteur À chaque requête la servlet incrémentera le compteur et affichera sa valeur Expliquez ce qui est compté. Gérer un compteurSession dans la methode doGet ou processRequest Ce compteur sera placé en session et à chaque appel, récupéré, incrémenté et afficher Pensez qu’au premier appel, il n’existe pas encore. Expliquez quel problème pourrait survenir avec le compteurField dans le cadre d’une application mise en ligne pour de nombreux utilisateurs. Comment y remédier?

Beans II Un bean de validation : Créer une page html contenant un formulaire Nom Age DateNaissance Tel Créer un bean Personne comportant les champs Nom : String Age : int DateNaissance : Date Tel : String Créez les getters et setters. Pour les champs Date et Age, créez un setter supplémentaire avec un paramètre d’entrée String. Le formulaire ne gère que des strings, c’est le bean qui convertira les valeurs. On va créer une servlet qui va utiliser le bean pour valider les données saisies et enregistrer les Personnes

Description Bean validation Form 2a 1 Servlet 2b 3a Bean Stockage 3b Erreur Liste

Cheminement des requêtes À la connexion au site, l’utilisateur reçoit le formulaire de saisie d’une personne. Le formulaire est soumis à la servlet de contrôle, elle va diriger les opérations à réaliser sur les données : Vérification de la validité des données saisies à travers un bean spécialisé. Ce bean comportera un champ Erreur type ArrayList<String> initialisé et modifié en un message spécifique si une erreur de format est rencontrée. Redirection en fonction de l’existence d’une erreur vers une jsp : qui affichera l’erreur rencontrée et un lien vers le formulaire pour saisir à nouveau. Traitement et Redirection s’il n’y a pas d’erreur (objet.isEmpty) Enregistrement de l’objet personne dans une liste qui est stockée en session (ou application).

Bean de validation On pourrait imaginer un objet particulier uniquement destiné à vérifier les champs du formulaire mais pour condenser un peu, on va utiliser le bean Personne. Rajouter un champ ArrayList<String> messageErreur Dans chaque setter de l’objet, faites votre vérification et ajouter un message lié à l’erreur dans message erreur à l’issu d’un test négatif Par exemple si le nom est vide, ajouter « pas de nom saisi » à messageErreur Dans un premier temps, vérifier que chaque champs n’est pas vide. Plus tard, on vérifiera les formats.

Bean de stockage On peut imaginer un bean spécifique au stockage des personnes, qui se connecterai à une base de donnée par exemple. Mais …non. Pour faire simple au départ, on va simplement créer une ArrayList<Personne> à l’initialisation de notre servlet de contrôle des opérations, qui la placera dans le scope application (contexte d’application).

Servlet de contrôle À vous de jouer. Voici les fonctions à réaliser : Initialisation la liste de personnes Soit vide, soit avec une ou deux personnes. Récupération des paramètres issus du formulaire, création/validation d’un objet personne. Redirection vers la page adéquat : erreur ou liste des personnes.

Page Erreur.jsp Doit avoir accès au bean personne défectueux Affiche le ou les messages d’erreurs associés et propose un lien vers la page de saisie.

Page listePersonne.jsp Affiche un tableau de la liste des personnes enregistrées. Propose un lien vers le formulaire de saisie.

TD JSP : page 1 Créer un nouveau projet web Créer le répertoire jsp dans le répertoire web pages Créer un package beans dans le répertoire source packages Ecrire une première page jsp nommée Header qui affiche Votre nom Par un scriplet : <% … %> Par une expression <%= …%> Par un bean simple qui comporte votre nom comme propriété. Par un accès au web.xml où vous aurez placé votre nom en paramètre du contexte. La date du jour La date de création de la page Placer tout le contenu affiché dans une div avec une couleur de fond de votre choix Retirer ensuite tout le code html hors de votre div en choisissant aussi une seule des 4 solutions précédentes pour afficher votre nom.

TD JSP : page 2 Créer une seconde page jsp nommée Entrée. Utiliser la directive d’inclusion afin d’importer le contenu de la page header dans la nouvelle page. Utiliser l’action jsp d’inclusion pour obtenir le même résultat (les deux inclusions doivent être affichées). Créer un formulaire de saisie simple vous permettant de choisir une couleur Method : post ou get Action : laisser vide afin que cette même page soit rappelée Traitement : Ecrivez un scriplet qui récupère le paramètre de couleur choisie et le place dans un attribut de session Modifier le code de la page Header.jsp pour que la couleur choisie devienne celle du fond de la div définie Quel résultat obtenez-vous ? La couleur change-t-elle immédiatement ou non ? Rafraîchissez la page….la couleur s’applique-t-elle ? Réfléchissez au comportement et trouver une solution pour que la couleur s’applique directement Si c’est le cas….tant mieux…mais expliquez pourquoi  ! Indice : emplacements et natures des codes Supprimer ensuite l’une des deux inclusions faite pour avoir une page propre.

TD JSP : Page 3 Gestion d’erreurs Créer une JSP nommée Calcul.jsp Ecrivez un formulaire de saisie comportant deux champs : dividende et divideur Un troisième champ dessous nommé quotient que tag’rez <input type="text" name=«quotient » disabled></input> Coder une partie de traitement qui affichera le résultat de (dividende / diviseur) dans le champ quotient. Créer une JSP nommée ErreurCalcul Cette page sera affichée en cas d’erreur sur l’opération précédente. Faite lui afficher la nature de l’erreur ainsi qu’un lien de retour au formulaire de saisie. Placez les bons tags de directives associées à la gestion de l’erreur Ajouter aux page l’entête Header.jsp du site Ajouter un lien vers la page Calcul.jsp dans le body de la page Entrée.jsp Ajouter un lien vers la page Entrée.jsp dans Header.jsp