1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 

Struts - Un framework MVC pour vos applications J2EE

1.2.Quelques rappels

Avant de commencer ce cours, quelques rappels sur les JSP/Servlets, les JavaBeans ainsi que les TagLib :

1.2.1.Des Servlets aux JSP

Lorsque l’on va développer un site Web à l’aide des technologies J2EE, on peut difficilement passer à côté des Servlets.
Une Servlet est une classe java chargée une seule et première fois par le moteur de Servlet (exemple : Tomcat) lors de son premier appel. Par la suite, on fera toujours appel à la même instance de cette Servlet.
Chaque fois que l’on va créer une Servlet, on créera une classe implémentant l’interface Servlet et donc redéfinir quelques méthodes dont les méthodes
  • public void init(ServletConfig cfg) qui sera appelée lors du premier appel de la Servlet, lors de son instanciation.
  • public void service(ServletRequest req, ServletResponse res) qui sera appelée à chaque appel de la Servlet instanciée.
  • public void destroy() qui sera appelée juste avant la destruction de la Servlet.

Ainsi, c’est dans la méthode service() que va se trouver le code java dont le résultat, envoyé au browser, permettra l’affichage sur une page Web.

Le problème est que si l’on suit ce principe, la partie traitement de notre code est mêlée à la partie présentation alors que, comme il l’a été précisé précédemment, les bases même d’une application utilisant les technologies J2EE est le découpage en couches.

Pour séparer clairement la partie traitement de la partie présentation de notre application, on va donc utiliser les pages JSP.

Une page JSP ressemble à une page HTML pouvant contenir des balises JSP et/ou du code Java. Elle va donc nous permettre d’afficher les résultats des traitements effectués en arrière plan dans des classes Java. Dans ce cas, la page JSP va être convertie en Servlet puis le processus va être le même que pour une Servlet classique.

1.2.2.Dans la JSP : JavaBeans et TagLib

Dans notre page JSP, on va pouvoir utiliser différents composants pour afficher les différents résultats des traitements effectués dans les couches inférieures.
Les JavaBeans sont des composants qui vont permettre d’instancier et manipuler différents objets Java (à portée de la page, de requête, de session ou de l’application) à l’aide de balises JSP. L’avantage est que lorsqu’il va rencontrer une balise, le serveur va automatiquement détecter si l’instance de l’objet existe déjà ou non. Si c’est le cas, il reprend l’instance existante sinon il en crée une nouvelle. Cela va permettre d’utiliser un même objet sur plusieurs pages, voire tout le long de l’application.
Les TagLibs, tout comme les JavaBeans sont des composants qui vont permettre d’instancier et manipuler différents objets Java à l’aide de balises JSP. Cependant, ils ne pourront avoir qu’une portée limitée à la page courante. On ne pourra donc pas réutiliser une même instance d’un objet sur plusieurs pages. Pour chaque page de l’application, on aura une instance différente.
Les TagLibs, balises personnalisées, vont permettre, entre autres de créer ses propres balises de la plus simple à la plus complexe et ainsi d’afficher les résultats des différents traitements en quelques lignes.

Pour plus d’informations sur ces composants, n’hésitez pas à consulter le cours sur les Servlets/JSP.

1.2.3.Définition et intérêts d’un framework de présentation

On a donc pu voir que les JSP offrent une solution idéale pour afficher les résultats des traitements effectués en amont. Ils représentent la partie présentation de notre application. On a aussi vu que l’on pouvait utiliser les JavaBeans ou les TagLibs pour éviter d’avoir du code Java dans nos pages JSP.
Cependant, l’objectif premier d’un développeur est d’éviter de refaire chaque fois la même chose.

Pour cela, on va utiliser un framework qui impose une méthode de développement simple et efficace.
On va alors obtenir une application respectant les objectifs de réutilisabilité que vise la programmation orientée objet.

Concrètement, un framework est le squelette d’une application. Cela va permettre la création rapide d’actions/événements classiques, par exemple, un formulaire (tenant compte de la sécurité, de la validité, etc…).
Quels que soient les outils utilisés dans les couches inférieures, le framework de présentation choisi est complètement indépendant. Il nous permet donc d’atteindre l’objectif attendu ; des couches complètement indépendantes les unes des autres. On peut alors changer l’une des d’elles sans modifier les autres.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 

Retrouvez ci-dessous les autres sections du Laboratoire Sun
Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Essentiels de cours Java
JavaEJB 3 - Les Entreprise Java Bean version 3 (JavaBeans)
Cet essentiel est la suite de « Entreprise JavaBean 2.1 ». Cependant, nous allons étudier les nouvelles spécifications 3.0 qui simplifient énormément le développement par rapport aux EJB 2.6/20/06
JavaSWT - Créer des interfaces graphiques performantes
SWT (Standard Widget Toolkit) est une librairie graphique qui vous permet de réaliser des applications graphiques Java beaucoup plus avancées et surtout plus rapide à l’exécution.1/29/06
JavaStruts - Un framework MVC pour vos applications J2EE
Struts est un framework open-source qui vous permet de gagner du temps, mais qui permet aussi de voir des applications complexes comme une suite de composants de base : Vues, Actions, Modèles. Vous gagnez ainsi en évolutivité et en lisibilité du code.1/13/06
JavaHibernate - Persistance objet - relationnel
Cet essentiel explique comment utiliser Hibernate afin de gérer la persistance objet relationnel au sein de vos applications Java.12/14/05
JavaIntroduction J2EE - Applications d'entreprise
Cours d'introduction aux diverses technologies et outils que l'on peut rencontrer dans le monde du Java orienté entreprise J2EE12/14/05
JavaEJB 2 - Les Entreprise Java Bean (JavaBeans)
L'objectif avec EJB2 (Entreprise JavaBeans) est d'introduire les concepts de l’Ingénierie Logicielle Basée sur les Composants.12/14/05
JavaDesign Patern - Améliorez l'architecture de vos programmes
Afin de répondre a des situation récurrentes en programmation, les "design partern" apportent une solution type à beaucoup de contraintes liées à la programmation objet.12/14/05
JavaArchitecture J2EE - Comment organiser son application J2EE
Ce cours explique comment créer un code modulable, lisible et évolutif afin d'assurer la pérénité de son application.12/14/05
JavaLes web-services - Publication de services
Le développement tend vers les technologies du Web. Il est difficile de faire la distinction entre les différents logiciels qui sont de plus en plus intégrés au Web. Les Web Services rentrent dans l’optique de différencier bien précisément les couches.12/14/05
JavaAnt - L'automatisation des tâches du programmeur
Ecrire des scripts afin d'exécuter les tâches récurrentes10/31/05
JavaIntroduction au langage Java - Présentation & historique
Présentation des origines du langage, ainsi que se buts premiers8/11/05
JavaLa Syntaxe Java - Bases & nomenclatures
Bases de la syntaxe du langage Java8/11/05
JavaLes Classes - Concepts & héritage
Base du développement objet en Java grâce aux classes8/11/05
JavaLes Exceptions - Gestion d'erreurs
Gérer les erreurs liés à la programmation8/11/05

Articles
Eclipse Europa : le successeur de Callisto
Après Eclipse Callisto (Eclipse 3.2), la fondation Eclipse sort la nouvelle mouture d'Eclipse appelée Europa (Eclipse 3.3) faisant ainsi passer le nombre de projets embarqués de 10 à 21. Que ceux qui sont réticents aux « distributions » d'Eclipse se rassu12/21/07
JavaCruiseControl : l’outil d’intégration continue à avoir dans sa boite à outils
CruiseControl est un projet open-source offrant de multiples fonctionnalités pour l’intégration, que ce soit pour des développements Java ou .Net. Il est courant sur un projet d’être plusieurs développeurs avec des tâches de développement réparties. Dans7/2/07
JavaEJB3 - Des concepts à l'écriture du code - Editions DUNOD
Consulter le résumé du premier ouvrage du laboratoire Sun de SUPINFO : EJB3 - Des concepts à l'écriture du code. Guide du développeur, éditions DUNOD.5/27/07
JavaPassage de certification Java Web (SCWCD)
Passer une certification est toujours un moment important car cela permet de mieux faire reconnaître ses compétences face à un recruteur ou un employeur.5/12/07
JavaGoogle Web Toolkit
Google Web Toolkit est un framework java pour générer du javascript et des requêtes Ajax à partir d’un code java. Voilà comment il fonctionne.5/10/07
JavaJ2ME Vs SDE
Demain, les terminaux « légers » seront plus nombreux que les ordinateurs personnels, ce qui entraîne une bataille sur le choix d’une plateforme identique à tous ces terminaux… Aujourd’hui nous retrouvons le J2ME ainsi que le SDE qui s’offrent une rude b4/22/07

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée