Projet Java EE Approfondi



Documents pareils
Utilisation de Jakarta Tomcat

A. Architecture du serveur Tomcat 6

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

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.

Web Tier : déploiement de servlets

JOnAS Day 5.1. Outils de développements

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

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

Application Web et J2EE

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

Conception Pascal Cauquil. Modifications Fabrice Benedet. Diffusion : IS, formateurs et participants à la formation Bases de données scientifiques

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

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

Le développement d applications Web

Jahia CMS ET Portal Version 5.0

Java pour le Web. Cours Java - F. Michel

Formation en Logiciels Libres. Fiche d inscription

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

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Application de lecture de carte SESAM-Vitale Jeebop

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

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

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

Catalogue des Formations Techniques

Un serveur d'archivage

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

Tutoriel d installation de Hibernate avec Eclipse

Cours en ligne Développement Java pour le web

Cedric Dumoulin (C) The Java EE 7 Tutorial

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

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)

Environnements de Développement

DOSSIER DEVELOPPEUR Projet CAR

CQP Développeur Nouvelles Technologies (DNT)

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

Refonte front-office / back-office - Architecture & Conception -

Applications distribuées: le retour du client "riche"

Compte Rendu d intégration d application

arcopole Studio Version 3.3

4. SERVICES WEB REST 46

JOnAS 5. Serveur d application d

Mise en œuvre des serveurs d application

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

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

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

Groupe Eyrolles, 2005, ISBN :

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

Programmation Mobile Android Master CCI

BIRT (Business Intelligence and Reporting Tools)

Introduction à la plateforme J2EE

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

- Rapport de stage Étude de solutions pour l intégration de fonctionnalités

Réf. : S2I-CIELL2-PI-1.0. Version : 1.0. Auteurs : S2I-TOULON

Groupe Eyrolles, 2003 ISBN : X

Etude de cas : PGE JEE V2

Application web de gestion de comptes en banques

Les architectures 3-tiers Partie I : les applications WEB

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

JavaServer Pages (JSP)

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

Module d anonymisation

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML

Installation. Conception, mise en œuvre, hébergement, exploitation et

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

Le moteur de workflow JBPM

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Alfstore workflow framework Spécification technique

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

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

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

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

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

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

arcopole Studio Version 3.1

HYPERPLANNING EST UN LOGICIEL INDEX EDUCATION

STID 2ème année : TP Web/PHP

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

Pentaho. présentation

Création d une application JEE

Déployer les Fonts, Icones, et Images avec Forms Services 11G

Déploiement d application Silverlight

Guide de déploiement d'applications FormPublisher

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

Tutoriel de formation SurveyMonkey

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

IBM DB2 Alphablox. d administration GC

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

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

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

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Module : programmation site Web dynamique Naviguer entre les pages via site map

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

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Introduction aux «Services Web»

Transcription:

EISTI Projet Java EE Approfondi Manuel d installation du framework Stripes Amaury Languillat, Yann Gonzalez, Arnaud Recher, Vincent Laronde, Anys Mechkar 10

Manuel d installation Téléchargement On part du principe que l utilisateur possède : La version Ganymede 3.4.2 (au minimum) d'eclipse pour les développeurs Java EE La version 6.0.18 (au minimum) du conteneur JEE Apache Tomcat Voici les fichiers nécessaires pour l installation de Stripes : Stripes.zip. On y trouve : Toute la documentation nécéssaire. Le fichier Properties Les bibliothèques Création d un projet JEE sous éclipse Nous partons du principe que l utilisateur est en mesure de créer un projet de type : Dynamic Web Project. Dans les options, il faut choisir la dernière version du module Dynamic Web : 2.5 et la bonne configuration du serveur : Apache Tomcat v6.0. Votre projet JEE est maintenant créé et constitue la base de votre futur projet basé sur le framework Stripes 1.5.1. Ajout de Stripes au projet Dans un premier temps, vous devez copiez les 3.jar du dossier "/lib/" du zip de Stripes que vous avez téléchargé dans "/WEB-INF/lib/". Voici leurs noms : stripes.jar commons-logging.jar cos.jar Dans un deuxième temps, copiez le fichier "StripesResources.properties" du dossier "/lib/" du zip de Stripes que vous avez téléchargé dans "/WEB-INF/classes/". Configuration du fichier web.xml Ouvrez le fichier "web.xml" qui se situe, comme dans toute architecture d'un projet JEE, dans le dossier "/WEB- INF/". Rajoutez, dans le fichier "web.xml", le code du fichier XML "stripes.xml" qui se trouve dans le zip de Stripes. Ce code XML correspond à la configuration de Stripes (détection des ActionBeans, des.jsp, etc...). Pour accélérer la détection des ActionBeans au démarrage de Stripes, ne pas oublier de modifier dans la balise filter/init-param/paramvalue/ (à l'endroit du "### A MODIFIER ###"), le ou les noms des packages qui contiendront les ActionBeans, séparés par des virgules.

Création d'actionbean et de JSP Vous pouvez dès à présent créer des ActionBean qu'utiliseront vos JSP. Pour cela, il faut respecter les conditions suivantes: o Votre classe doit implémenter l'interface ActioBean (implements ActionBean) o Votre classe doit posséder un attribut de type ActionBeanContext (private ActionBeanContext context;) o Votre classe doit posséder le getter et le setter pour cet ActioBeanContext. Les JSP font appel aux ActionBean afin de réaliser le modèle MVC. Toute JSP doit posséder l'entête suivant : <%@ page language="java" contenttype="text/html;charset=utf-8" %> <%@ taglib prefix="stripes" uri="http://stripes.sourceforge.net/stripes.tld"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1- strict.dtd"> Vous disposez à présent de tous les éléments pour faire du MVC avec Stripes, en utilisant les ActionBean. Le fichier "StripesResources.properties" permet le traitement des erreurs de formulaires (conversion, validation de champs, etc...) et des messages associés à ces erreurs, qui sont entièrement paramétrables.

Configuration Stripes est conçu de façon à requérir le minimum de configuration possible. Le web.xml Une simple configuration du Stripes Filter et du Stripes Dispatcher Servlet est nécessaire. Pour notre projet, nous avons choisis de prendre comme configuration : <?xml version="1.0" encoding="utf-8"?> <web-app id="webapp_id" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/webapp_2_4.xsd"> <!-- Balise pour le titre du projet --> <display-name>projet_msi</display-name> <!-- ---------- Les Filters ------------ --> <filter> <display-name>stripes Filter</display-name> <filter-name>stripesfilter</filter-name> <filter-class>net.sourceforge.stripes.controller.stripesfilter</filter-class> <!-- filtre qui map action Bean --> <param-name>actionresolver.packages</param-name> <param-value>actionbean</param-value> <!-- filtre qui map action Bean context --> <param-name>actionbeancontext.class</param-name> <param-value>actionbean.trimaneactionbeancontext</param-value> </filter> <!-- ------- Les Filters Mapping ------- --> <filter-mapping> <filter-name>stripesfilter</filter-name> <url-pattern>*.jsp</url-pattern> <dispatcher>request</dispatcher> </filter-mapping> <filter-mapping> <filter-name>stripesfilter</filter-name> <servlet-name>stripesdispatcher</servlet-name> <dispatcher>request</dispatcher> </filter-mapping>

<!-- ---------- Les Servelets ---------- --> <servlet> <servlet-name>stickycaptcha</servlet-name> <servlet-class>nl.captcha.servlet.stickycaptchaservlet</servlet-class> </servlet> <param-name>width</param-name> <param-value>250</param-value> <param-name>height</param-name> <param-value>75</param-value> <servlet> <servlet-name>stripesdispatcher</servlet-name> <servlet-class>net.sourceforge.stripes.controller.dispatcherservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <description></description> <display-name>logactionbean</display-name> <servlet-name>logactionbean</servlet-name> <servlet-class>actionbean.logactionbean</servlet-class> </servlet> <!-- ------- Les Servlets Mapping ----- --> <servlet-mapping> <servlet-name>stickycaptcha</servlet-name> <url-pattern>/stickyimg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>stripesdispatcher</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>logactionbean</servlet-name> <url-pattern>/logactionbean</url-pattern> </servlet-mapping> <! La première page du projet à afficher --> <welcome-file-list> <welcome-file>/processus/accueil.jsp</welcome-file> </welcome-file-list> </web-app> Les Bibliothèques Puis il faudra que vous placiez stripes.jar dans votre classpath (normalement WEB-INF/lib). Ceci est la seule dépendance à compile-time pour développer avec Stripes. Pour développer et utiliser Stripes vous aurez besoin de copier les fichers libraires ci-dessous fournis avec Stripes dans votre classpath :

commons-logging.jar (1.1) - Apache Commons Logging est utilisé afin de fournir une interface de logging avec une implémentation agnostique. cos.jar - le package libraire com.oreilly.servlets, grâce à Jason Hunter, est utilisé pour gérer les uploads de fichiers multi-part à partir de formulaires d'envoi Les fichiers libraires ci-dessus sont fournis avec la distribution de stripes, et ont été testés avec Stripes. Des versions plus récentes peuvent fonctionner, mais vous serez en territoire inconnu. Les properties La dernière partie à être plaçée est le fichier StripesResources.properties; il faudra tout simplement le copier dans /WEB- INF/classes. StripesResources.properties est utilisé (par défaut) pour contenir des messages d'erreurs qui sont utilisés pour la validation incluse par défaut dans Stripes et la validation faite dans les ActionBeans, et il doit pouvoir être retrouvé dans le classpath. On peut aussi utiliser les properties pour ne pas écrire en dure les textes dans le code, en utilisant les balises «Label». Voici un fragment exemple du fichier : Example StripesResources.properties # Ecriture des texts. Titre_page_accueil=Projet de JEE : Stripes Premiere_Rubrique=Les avantages Deuxième_Rubrique=Les désavantages # Validation error messages used by Stripes' built in type converters converter.number.invalidnumber=the value ({1}) entered in field {0} must be a valid number converter.byte.outofrange=the value ({1}) entered in field {0} was out of the range {2} to {3} converter.short.outofrange=the value ({1}) entered in field {0} was out of the range {2} to {3} converter.integer.outofrange=the value ({1}) entered in field {0} was out of the range {2} to {3} converter.float.outofrange=the value ({1}) entered in field {0} was out of the range {2} to {3} converter.enum.notanenumeratedvalue=the value "{1}" is not a valid value for field {0} converter.date.invaliddate=the value ({1}) entered in field {0} must be a valid date converter.email.invalidemail=the value ({1}) entered is not