You are on page 1of 8

Auteur : Laura Zunarelli Etudiante en Master 2ème année professionnel Génie Informatique en apprentissage Mail : Laura.Zunarelli@gmail.

com

Synthèse réalisée dans le cadre de l’U.E. : Etude et Projet d’Intergiciels Résumé : De nos jours, il existe de plus en plus d’applications web et celles-ci sont de plus en plus compliquées. C’est pourquoi afin d’aider leur développement, on utilise des frameworks. Ces frameworks permettent d’assurer l’évolution et la fiabilité de ces applications web.

JavaServerFaces. Introduction : Ce document porte sur deux frameworks standards pour la construction d’applications web : Struts et JavaServerFaces. l’application du modèle MVC dans Struts et dans JavaServerFaces (JSF) sera expliquée. Abstract: Nowadays. Puis . modèle MVC. they enable a better separation between computer scientists and infographists. during this document. to help their development. Based on the MVC model. framework. JSF. we explore in more details these two frameworks. explorer plus en détails ces deux frameworks. au cours de ce document. These frameworks enable to ensure web application reliability and evolving. MVC model. nous allons. the majority of web applications use Struts or JSF or the two… Became inescapable in this domain. JavaServerFaces. En s’appuyant sur le modèle MVC ils permettent une meilleure séparation entre les métiers d’informaticiens et ceux d’infographistes. there is more and more web applications and they are more and more complicated. JSF. la plupart des applications web utilisent Struts ou JSF voir les deux… Devenus incontournables dans ce domaine.Struts et JavaServerFaces (JSF) sont des standards parmi les frameworks de ce type. Key Words: Struts. Actuellement. Currently. we use frameworks. framework. Après une brève introduction sur les frameworks. Struts and JavaServerFaces (JSF) are standards among these frameworks. That’s why. Mots clés : Struts. web applications. applications web.

Cependant. La dernière partie : la vue. Ceux-ci constituent aujourd’hui les deux standards dans le domaine de la conception d’applications web. Celui-ci. d'outils et de conventions permettant le développement rapide d'applications. lui. Struts et JavaServerFaces (JSF). Avec leur apparition. d’en accroître la fiabilité. b) L’application du modèle MVC dans Struts et JavaServerFaces Le framework Struts est construit autour d’un puissant contrôleur. leur permet de mieux dissocier les métiers d’infographistes et d’informaticiens. tandis que JSF. Ces frameworks. reçoit les actions de l’utilisateur et gère la répartition des traitements entre la vue et le modèle. JSF. Struts. En effet. fournit un manageur des cycles de vie de l’application au travers de servlets de contrôle. 1. Pour cela nous utilisons des frameworks. Aujourd'hui nous sommes confrontés au développement d'applications bien plus complexes. Les frameworks Avant l’arrivée des frameworks. est la partie graphique destinée aux infographistes. Il s’agit d’un ensemble de bibliothèques. Parmi eux. C’est cette partie qui gère toutes les entrées de l’application. de diminuer les coûts et délais de développement et d’assurer leur évolutivité. JSF. ce modèle d’architecture est constitué de trois parties. Il a ainsi suggéré une méthode d’intégration afin de combiner les deux frameworks. Le modèle représente la partie métier de l’application : on y retrouve les états et la logique de l’application. et est bien placé pour dire que JSF et Struts sont différents mais ne sont pourtant pas incompatibles. ou : « cadre de conception » sont des espaces de travail modulaire.chacun des deux frameworks seront explorés plus en détails. une constatation sur les principales différences entre ces deux frameworks et sur leur futur sera dressée. 3. Struts propose des tags libs pour la gestion des vues et une définition de la navigation au travers des pages. Le but étant de combiner les avantages de chacun. Leur but est d’accroître la productivité des développeurs dans le développement des interfaces utilisateurs. Contrôleur). Vue. Craig McClanahan est le créateur de Struts et l’un des principaux acteurs de JSF. est principalement dédié à la couche vue. en fournissant une architecture facilitant leur maintenance. Struts et JavaServerFaces n’ont pas été conçus de prime abord pour fonctionner ensemble dans une même application. Ce sont ces deux standards que nous allons donc étudier plus en détails… 2. Présentation de Struts a) Présentation générale . Il a donc occupé une place importante pour la création de ces deux frameworks. Pour conclure. dans laquelle seul l’affichage est géré. En effet. de nombreux outils ont vu le jour. Ils permettent donc d’améliorer la réutilisabilité des applications. et le Modèle MVC a) Le modèle MVC L’un des principaux atouts de ces deux frameworks est l’utilisation du patron de conception MVC (Modèle. le développement d'applications Web était simplement constitué d’une page HTML et d’un navigateur. La première : le contrôleur.

org/struts. des JSP. l'Apache Software Foundation).apache.jar sont importés par Struts mais proviennent d’autres projets. 4.HelloWorld"> <result>/example/HelloWorld.jar sont utilisés par l’implémentation. une redirection sera effectuée pour consulter la page HelloWorld à la place.Struts. Dès son arrivée. il eu beaucoup de succès. Ces trois parties sont généralement situées dans trois dossiers différents. répandu. En effet. Apparu en 1998. Exemple : <action name="HelloWorld" class="example.jsp</result> </action> Dans cet exemple. Au déploiement de l’application les archives nécessaires sont copiées dans le répertoire WEB-INF/lib. Struts est une combinaison des servlets Java. c) Les bibliothèques de Struts: Voici un petit résumé des bibliothèques que l’on retrouve dans Struts : • Les librairies Struts*. en tapant l’adresse pour accéder à la page de bienvenue dans le navigateur. Struts est puissant. Struts fait parti du projet Jakarta (mené par l'ASF. • Les autres fichiers *. L'adresse officielle de Struts est : http://jakarta.jar: contiennent les classes java distribuées par le projet Struts. La structure de l’application web doit être décrite dans un fichier: struts. et mature. • Les fichiers commons*. Les pages jsp exploitent des balises personnalisées de Struts : Exemple : <%@ taglib prefix="s" uri="/struts-tags" %> Il est cependant conseillé d’utiliser aussi la bibliothèque JSTL. Le succès de ce framework repose sur sa capacité à répondre aux besoins des développeurs actuels en termes de création d'applications et en termes de rapidité de mise en œuvre. Les servlets sont utilisées de manière transparente via des classes.xml. Compatible avec la plate-forme J2EE de Sun. pour les petites applications. l’application de Struts pourrait prendre bien plus de temps que la construction de l’application elle-même… b) Principes de mise en œuvre de Struts Une application basique de Struts est composée des trois parties du modèle MVC. des balises personnalisées et des ressources messages qui forment une base unifiée.jar qui est un plug-in jsf pour Struts. fut le premier des deux frameworks à arriver sur le marché. il a su s’imposer pour les applications de grandes tailles. Cependant son utilisation de nos jours perd tout son sens pour les applications simples. Présentation de JavaServerFaces (JSF) a) Présentation générale . C’est ainsi le cas de la librairie : struts-jsf-plugin. Ce fichier contient toutes les règles de navigations nécessaires à l’application.

com/javaee/javaserverfaces/ Beaucoup crurent que l’arrivée de JSF allait écraser son concurrent.jsp</to-view-id> </navigation-case> </navigation-rule> Dans cet exemple on voit que l’action « success » permet de passer de la page response. Tandis que l’autre contient la partie Vue de l’application ainsi qu’un dossier WEB-INF qui constitue le contrôleur.jsp view returns the outcome "success". response. Les pages jsp (java server pages) utilisent des balises personnalisées JSF : Exemples : <%@ taglib uri="http://java. La partie Vue de JSF a été bien pensée et est très simple d’utilisation. b) Principes de mise en œuvre de JavaServerFaces Une application basique de JSF est constituée de deux dossiers : l’un contient la partie modèle de l’application. </description> <from-outcome>success</from-outcome> <to-view-id>/greeting.jar : contiennent les classes standards de JSF ainsi que les interfaces à satisfaire par les implémentations de JSF. JSF a su s’imposer par sa simplicité.xml. Exemple : <navigation-rule> <description> The decision rules used by the NavigationHandler to determine which view must be displayed after the current view. </description> <from-view-id>/response. bien intégré aux projets de Sun tels que Java Enterprise Edition (Java EE).JavaServerFaces est paru en 2004 après Struts. JSF a été réalisé par Sun pour J2EE1.sun.jsp</from-view-id> <navigation-case> <description> Indicates to the NavigationHandler that the greeting. Nous parlerons ici de l’implémentation de référence de Sun mais il faut savoir qu’il existe une autre implémentation de ce framework : Apache MyFaces qui fait parti du projet Jakarta.jsp is processed. L’adresse officielle de JavaServerFaces est : http://java. Ce fichier contient toutes les règles de navigations nécessaires à l’application.jsp c) Les bibliothèques de JavaServerFaces: Voici un petit résumé des bibliothèques que l’on retrouve dans Struts : • Les librairies jsf-api.sun.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java. De manière à permettre aux développeurs web de se concentrer uniquement sur leurs besoins. Ainsi son utilisation s’impose pour les projets de petites tailles.jsp view must be displayed if the Action referenced by a UICommand component on the response.com/jsf/core" prefix="f" %> La structure de l’application web doit être décrite dans un fichier: faces-config. JSF utilise XML ou des propriétés. En effet.jsp à la page greeting. 1 .

Conclusion a) Struts vs JSF Comparons maintenant ces deux frameworks. De plus. De même que pour Struts. celui-ci se concentre sur la partie Contrôleur tout comme Struts en intégrant de puissants outils pour cette partie. • Les fichiers commons*. L’implémentation de référence étant basée sur JSTL. De nos jours. au déploiement de l’application les archives nécessaires sont copiées dans le répertoire WEB-INF/lib. plus puissante et plus simple que celle de Struts. b) Struts Shale… Le futur ? En dehors de Struts et de JavaServerFaces. La partie Vue reste déléguée à une implémentation de JSF. L’utilisation des tags rend l’utilisation de JavaServerFaces plus concise.faces dans le cas l’implémentation d’Apache). basé sur Javas Server Faces. Struts Shale est encore un framework très récent. barracuda. les supplanter… • Références : .Les archives jsf-ri.jar sont utilisés par l’implémentation de référence de Sun. Cependant. • Les librairies jstl. 5.jsp alors que leurs url se terminent par . Les constructeurs de Struts l’ont compris et ont tenté de combiner les avantages de Struts et ceux de JSF au travers de Struts Shale.jar : représente l’implémentation de référence de Sun pour l’API de JSF. XML et WML… Cependant la documentation de JavaServerFaces si elle est variée. en devenant plus mature. On peut commettre des confusions au niveau des noms des pages utilisant la bibliothèque JSF : les pages se terminent par . webwork… Cependant. Struts Shale est un nouveau framework MVC (Modèle Vue Contrôleur). JSF ne se limite pas à http et html : contrairement à Struts. Mais leur différences.jar & standard. Struts et JSF continuent de dominer les autres frameworks en matière d’applications web.jar contiennent les fichiers JSTL. mais en combinant les avantages de chacun des deux standards d’aujourd’hui. reste néanmoins confuse et pas assez détaillée. il pourrait. JSF utilise aussi les formats : XUL. Il peut donc être difficile de s’y retrouver. et en particulier le fait que Struts soit plus centré sur la partie contrôleur que sur la partie Vue contrairement à JSF ont permis aux deux frameworks de coexister. Apparu en 2005.jsf (ou . Struts a autant de succès que son principal concurrent : JSF. d’autres framework pour applications web peuvent être utilisé tels que Spring MVC.

guepard.developper.fr/ibm/sw2002/Struts. l’intégration du modèle MVC pour Struts… • « Bye-bye Struts. en particulier ce qui est distribué pour Struts. • Document pdf de bruno Clément réalisé en 2002 http://www.html Le point sur Struts: entre Struts Shale.asso.org/1. puis parle de l’architecture de Struts. et les différentes versions de Struts • « Introduction au framework Struts Jakarta » de Sue Spielman en mai 2001 http://projectomega.org/article.html Ce document official relate le contenu de Struts.php?lg=fr&php=oreilly_jakarta1&p=1 Document sur la rédaction du fichier de configuration de Struts. Références sur JavaServerFaces: .7/userGuide/installation.Références sur Struts: • Document pdf de la société serli informatique réalisés par mickaël Baron en 2007.2. Hello Struts Shale » de Pierre Tran en février 2005 http://www.apache. ses bibliothèques.lemondeinformatique. Autrement dit. Titre : « Tutoriel Jakarta Struts » http://tahe.fr/actualites/lire-bye-bye-struts-hello-struts-shale7856.com/java/struts Ce tutoriel permet de découvrir la structure de struts : ses composants et leurs fonctionnements.pdf Ce document explique brièvement le modèle MVC. • « The Struts framework project » de la foundation Apache http://struts.

org/~craigmcc/oscon_2005_web_architectures. • • « JavaServerFaces vs Struts » de Roland Barcia paru en septembre 2004 http://homepage1.html Evaluation sous différents critères (maturité.apache.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc. Cependant cet exemple est mis en place avec netbeans et ce n’est pas forcément la manière la plus simple de réaliser un premier exemple avec JavaServerFaces • Document pdf de la société serli informatique réalisés par mickaël Baron en 2007 : « Introduction au frameworf JSF » http://mbaron. et surtout de comprendre son fonctionnement au travers d’un exemple simple que l’on peut par la suite complexifier.• Tutoriel: « introduction à jsf avec netbeanss » réalisé par Olivier Schmitt en août 2005 : http://schmitt.developpez.com/algafield/barcia.com/tutoriel/java/jsf/introduction Ce tutoriel permet de découvrir JavaServerFaces. sa configuration… • « JSF en quelques mots » de François Goldgewicht datant de juin 2007 : http://blog. JavaWorld. intégration…) de JSF et de Struts .pdf Document comparant différents frameworks.com/javaee/jsf Ce document permet de comparer un peu Struts à JavaServerFaces.developpez. présentation de ses bases… Autres : • « Understanding JavaServer Pages Model Architecture » de: Govind Seshadri.nifty. « The evolution of web application architectures » de McClanahan en août 2005 http://people. 12/29/99: http://www.javaworld.com.html Explique les principes des pages JSP.valtech.fr/wordpress/2007/06/28/jsf-en-quelques-mots Ce document présente les concepts de base de JSF : origine. Il explique aussi le fonctionnement théorique de JavaServerFaces : son cycle de vie. navigation.