Struts

Disponible uniquement sur Etudier
  • Pages : 128 (31763 mots )
  • Téléchargement(s) : 0
  • Publié le : 10 août 2010
Lire le document complet
Aperçu du document
Introduction à STRUTS par la pratique - déc 2003, rév août 2004 serge.tahe@istia.univ-angers.fr

Mots clés : méthodologie STRUTS, programmation WEB, servlets, pages JSP, serveur web TOMCAT

Struts par la pratique - Serge Tahé, université d'Angers

1/134

I - Généralités
I.1 Objectifs
On se propose ici de découvrir une méthode de développement appelée STRUTS. Jakarta Struts est unprojet de l'Apache Software Foundation (www.apache.org) qui a pour but de fournir un cadre standard de développement d'applications web en Java respectant l'architecture dite MVC (Modèle-Vue-Contrôleur).

I.2 Le modèle MVC
Le modèle MVC cherche à séparer les couches présentation, traitement et accès aux données. Une application web respectant ce modèle pourrait être architecturée de la façonsuivante : Interface utilisateur Logique applicative Sources de données

Une telle architecture est appelée 3-tiers ou à 3 niveaux : l'interface utilisateur est le V (la vue) la logique applicative est le C (le contrôleur) les sources de données sont le M (Modèle) L'interface utilisateur est souvent un navigateur web mais cela peut être également une application autonome qui via le réseau envoie desrequêtes HTTP au service web et met en forme les résultats que celui-ci lui renvoie. La logique applicative est constituée des scripts traitant les demandes de l'utilisateur. La source de données est souvent une base de données mais cela peut être aussi de simples fichiers plats, un annuaire LDAP, un service web distant,... Le développeur a intérêt à maintenir une grande indépendance entre ces troisentités afin que si l'une d'elles change, les deux autres n'aient pas à changer ou peu. Nous verrons que ce modèle de base donne naissance à des architectures présentant des couches plus fines que celles définies ci-dessus. Lorsqu'on cherche à appliquer ce modèle avec des servlets et pages JSP, on obtient l'architecture suivante : Client Interface client Logique applicative Couche contrôleCONTRÔLEUR MODELE VUES page1.jsp pagen.jsp Couche métier Couche d'accès données Données Sources de données

Dans le bloc [Logique Applicative], on distingue le bloc [Couche de contrôle] est composé d'une ou plusieurs servlets et de classes annexes. Elle assure l'interface avec le client : o le client fait une demande o la couche contrôle la fait exécuter par la couche métier o selon le résultat decette exécution, la couche contrôle envoie telle ou telle vue en réponse au client. Le rôle de la couche de contrôle s'arrête à cela. On ne doit pas y trouver des classes qui devraient relever de la couche métier. le bloc [Couche métier] regroupe les classes Java nécessaires à la logique métier. Cette couche est indépendante de toute forme d'interface avec l'utilisateur. Ainsi elle doit êtreutilisable aussi bien avec une interface console, une interface web, une interface de client riche. Elle doit ainsi pouvoir être testée en-dehors de l'interface web et notamment avec une interface console.

Struts par la pratique - Serge Tahé, université d'Angers

2/134

le bloc [Couche d'accès aux données] qui regroupe les classes Java capables de fournir les données nécessaires à la couche métier,souvent des données persistantes (BD, fichiers,...). Ce bloc doit être indépendant de la couche métier et doit pouvoir être testé indépendamment de celle-ci par exemple avec une application console indépendante. le bloc [Couche de présentation] formé des pages JSP qui constituent les vues de l'application. Les quatre entités précédentes définissent assez bien la structure de nombreusesapplications web en quatre couches.

I.3 Une démarche de développement MVC à l'aide de servlets et pages JSP
Nous définissons maintenant une démarche possible pour le développement d'applications web java respectant le modèle MVC précédent. Elle ne doit être prise que comme un exemple de ce qui pourrait être fait. 1. On commencera par définir toutes les vues de l'application. Celles-ci sont les pages...
tracking img