Comparaison jsf-struts
Point commun
Le point commun de ces deux Framework c'est que tous les deux respectent le pattern MVC "Modèle Vue Contrôleur" Le Modèle-Vue-Contrôleur organise l'interface Homme-machine d'une application logicielle en un modèle (objet métier, encore modèle de données), une vue (présentation, interface utilisateur) et un contrôleur (logique de contrôle, gestion des événements, traitement), chacun ayant un rôle précis dans l'interface. Ce design pattern impose la séparation entre les données, la présentation et les traitements, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur.
JSF est orienté "View Controller" :
En développant en JSF on écrit par exemple notre formulaire dans une JSP qui est la vue, pour l'exécution de cette dernière, elle fait appel à un bean qui exécutera l'action. Le bean remplace ainsi les servlets et ses méthodes doGet et DoPost
Struts est orienté "Action Controller" :
Les classes Action et ActionForm sont des classes de Struts qui remplacent les servlets. Notre formulaire sera écrit dans une classe ActionForm qui contiendra les méthodes validate, qui vérifient si les informations données sont correctes, et peuvent ainsi être traité par l'Action. Cette dernière exécutera alors l'action et retournera une ActionForward qui est la méthode de traitement de Struts.
Struts vs JSF :
Comparons maintenant ces deux frameworks. L'utilisation des tags rend l'utilisation de JSF plus concise, plus puissante et plus simple que celle de Struts. De plus, JSF ne se limite pas à http et html : contrairement à Struts, JSF utilise aussi les formats : XUL, XML et WML... Cependant la documentation de JSF si elle est variée, reste néanmoins confuse et pas assez détaillée. Il peut donc être difficile de s'y retrouver. On peut commettre des confusions au niveau des noms des pages utilisant la bibliothèque JSF : les pages se terminent par .jsp alors que leurs url se terminent par