Formulaires Web avec Spring Web MVC



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

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.

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

Création d un service web avec NetBeans 5.5 et SJAS 9

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Projet Java EE Approfondi

Tutoriel d installation de Hibernate avec Eclipse

< Atelier 1 /> Démarrer une application web

ECLIPSE ET PDT (Php development tools)

Etude de cas : PGE JEE V2

les techniques d'extraction, les formulaires et intégration dans un site WEB

Installation et compilation de gnurbs sous Windows

Déploiement d application Silverlight

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

Formation en Logiciels Libres. Fiche d inscription

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

Procédure d installation détaillée

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

EXA1415 : Annotations

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

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

JOnAS Day 5.1. Outils de développements

Bases Java - Eclipse / Netbeans

Groupe Eyrolles, 2005, ISBN :

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Utilisation de Jakarta Tomcat

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Création d une application JEE

Initiation à Mendeley AUT2012

Mise en place SSO. Mise en place SSO. 1. Installation de Tomcat sur le serveur OCR (Windows) 2. Ajout des librairies. by LegalBox

Point sur les solutions de développement d apps pour les périphériques mobiles

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Alfstore workflow framework Spécification technique

JavaServer Pages (JSP)

La base de données dans ArtemiS SUITE

Web Tier : déploiement de servlets

arcopole Studio Version 3.3

Introduction à Eclipse

Java pour le Web. Cours Java - F. Michel

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

GUIDE DE PAIEMENT. Pour Bien Effectuer votre Paiement, veuillez suivre les instructions suivantes :

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Installer Enterprise Miner 5.1 en SAS environnement Windows

Application Web et J2EE

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Guide d installation CLX.PayMaker Office (3PC)

BIRT (Business Intelligence and Reporting Tools)

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

Création de formulaires interactifs

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Un serveur d'archivage

Compte Rendu d intégration d application

A. Architecture du serveur Tomcat 6

IBM DB2 Alphablox. d administration GC

Approche Contract First

contact@nqicorp.com - Web :

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

Eclipse atelier Java

Démarrage des solutions Yourcegid On Demand avec Citrix

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Installation et configuration du serveur syslog sur Synology DSM 4.0

Velo-city Nantes France Mode d emploi pour soumettre votre contribution en ligne. Guide des contributeurs

Application web de gestion de comptes en banques

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Présentation du Framework BootstrapTwitter

SITE WEB E-COMMERCE ET VENTE A DISTANCE

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

Installation d un ordinateur avec reprise des données

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Cette notice d utilisation a pour vocation de vous aider à réserver vos produits sur Dispano.fr en toute simplicité!

Guide de démarrage IKEY 2032 / Vigifoncia

Catalogue des Formations Techniques

D E S C R I P T I O N D E S É L É M E N T S C L E F S D ' U I M A

FileMaker Server 14. Guide de démarrage

PRODUCTS LIST (updated 11th January 2010)

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

Sophos Antivirus, guide d installation

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Intégrer des médias. Plateforme e-tourisme. demo.minisites.encharentemaritime.com

équipement radio Procédure

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Manuel de Documents. Introduction Format des fichiers lus Fonctions supplémentaires Copier et partager des fichiers...

Installation et prise en main

TD/TP 1 Introduction au SDK d Android

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

TUTORIAL ULTRAVNC (EDITION 2)

Cours en ligne Développement Java pour le web

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

Procédure d'installation complète de Click&Decide sur un serveur

Optimiser pour les appareils mobiles

TP JAVASCRIPT OMI4 TP5 SRC

Export et Import de modèles ICAR sous Trnsys 17

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Programmation Mobile Android Master CCI

Transcription:

Formulaires Web avec Spring Web MVC Spring propose un framework MVC pour faciliter la programmation d applications Web : Spring Web MVC. Au fil des ans ce framework a supplanté Struts pour être à présent le framework Java le plus utilisé pour développer des applications Web. Cet article montre comment gérer des formulaires HTML avec Spring Web MVC. Matériel requis - Spring 3.0 - Apache/Tomcat 6.0 - Java 1.6 - Eclipse avec le plug-in WTP (ici c est Eclipse Galileo qui a été utilisé en version JEE developper) Les fichiers sources de l application côté serveur sont à l adresse : http://perso.efrei.fr/~charroux/formulairesweb_springwebmvc/ Création d un projet Avant tout, il faut télécharger Apache/Tomcat à partir du lien suivant : http://tomcat.apache.org/ Le téléchargement de la version Core et sa décompression sur votre machine suffit. Création d un projet Dynamic Web Project sous Eclipse : Où, Traget Runtime a été initialisée avec Apache Tomcat en cliquant sur New et en sélectionnant le répertoire où est installé Apache Tomcat sur votre machine : Page 1

Ajout des fichiers sources et des librairies Décompressez le fichier téléchargé (voir le début de cet article) dans le répertoire du projet. Mettez à jour Eclipse via un F5 sur le projet. Celui-ci doit à présent se présenter comme suit : Où ajoutmusiqueform.jsp (répertoire WEB-INF\views) est une page JSP qui une fois qu elle a été transformée en HTML côté serveur, et envoyée à un navigateur s affiche ainsi : Page 2

Le code JSP correspondant est le suivant : <form:form modelattribute="musique" action="musique" method="post"> <table> <tr> </tr> <td>titre de la musique :</td> <td> <form:input path="titre" /> <form:errors path="titre"/> <hr> </td> </table> <input type="submit" value="soumettre les infos"/> </form:form> Ce code correspond à une View au sens MVC du terme. La balise form :form est fournie pas Spring pour faciliter la gestion des formulaires. modelattribute="musique" indique que la variable musique contient les données du formulaire. Cette variable pointe vers un Model au sens MVC du terme. Ce modèle est la classe Java Musique de package com.musique.presentation : Page 3

public class Musique { @NotNull @Size(min=1) private String titre; //... On y voit l attribut titre. Spring va se charger, une fois le formulaire rempli et posté côté navigateur, puis reçu par le serveur, de créer automatiquement un objet du type Musique et d y stocker les données provenant du formulaire. Pour aider Spring à savoir quel attribut de la classe doit être rempli avec quel champs du formulaire (ici c est l attribut titre), il faut utiliser ce même nom de variable dans le formulaire : <form:input path="titre" /> La dernière brique de base du modèle MVC est le Controller. Pour Spring c est une classe Java (MusiqueController du package com.musique.presentation) annoté avec @Controller : @Controller @RequestMapping(value="/musique") public class MusiqueController { // TO DO : stocker les musiques en base de données private Map<Long, Musique> musiques = new ConcurrentHashMap<Long, Musique>(); @RequestMapping(method=RequestMethod.POST) public String create(@valid Musique musique, BindingResult result, Model model) { this.musiques.put(musique.assignid(), musique); return "redirect:/musique/" + musique.getid(); @RequestMapping(value="{id", method=requestmethod.get) public String getview(@pathvariable Long id, Model model) { return "voirmusique"; Où c est la méthode create qui va recevoir les données du formulaire dans son argument musique. Cette méthode se termine par une redirection vers la méthode getview qui va afficher une réponse via la page JSP voirmusique.jsp (répertoire WEB-INF\views). Si le formulaire posté contient des erreurs (champs requis manquants par exemple), le formulaire va s afficher à nouveau avec des indications en plus pour le remplir correctement : Page 4

La gestion des erreurs, se fait dans le code de la classe Model (voir ci-dessus les annotations suivantes @NotNull et @Size(min=1) dans la classe Musique), dans le code de la View (voir ci-dessus l instruction <form:errors path="titre"/> dans la page ajoutmusiqueform.jsp), ainsi que dans le Controller (MusiqueController) : public String create(@valid Musique musique, BindingResult result, Model model) { if (result.haserrors()) { return "ajoutmusiqueform"; Lancement de l application Le pilotage d Apache-Tomcat se fait dans l onglet serveur (accessible via Windows-> Show view -> Other -> Servers) : Où il faut ajouter Tomcat, et ne pas oublier d y insérer le projet (clic droit sur Tomcat -> menu Add and remove ). Il ne reste plus qu à démarrer le serveur, ouvrir un navigateur et y saisir l adresse du serveur : http://localhost:8080/spring_webmvc/musique Conclusion Spring Web MVC facilite le développement d application Web. L intérêt d utiliser un modèle MVC est de découpler la View du Controller et du Model : Le Model est une classe Java pur, et le Controller n est lié à la View que par des conventions de nommage (il faut utiliser des noms de variables dans les pages JSP qui correspondent aux noms des attributs dans le Model). Ce découplage permet de changer de technologies d affichage sans changer, ni le Page 5

Controller, ni le Model. Le choix de la technologie d affichage se fait dans la configuration de Spring (voir le fichier servlet-context.xml du répertoire WEB-INF) : <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="viewclass" value="org.springframework.web.servlet.view.jstlview" /> <property name="prefix" value="/web-inf/views/"/> <property name="suffix" value=".jsp"/> </bean> Où on voir que c est JSP/JSLT qui est utilisé. Spring offre diverses technologies d affichage parmi lesquelles (Excell, PDF, XML, JSON) mais c est une autre histoire. Page 6