-
Struts, comme Tomcat, Turbine et bien d'autres projets Apache, est un logiciel open source, ce qui constitue l'un de ses avantages. Permettez aux développeurs d’avoir une compréhension plus approfondie de son mécanisme de mise en œuvre interne. Le framework open source Struts a été créé pour permettre aux développeurs de créer plus facilement des applications Web basées sur les technologies Java Servlet et JavaServer Pages (JSP). Le framework Struts fournit aux développeurs un framework standard unifié. En utilisant Struts comme base, les développeurs peuvent se concentrer davantage sur la logique métier de l'application. Le framework Struts lui-même est une implémentation Model-View-Controller (MVC) utilisant la technologie Java Servlet et JavaServer Pages.
Plus précisément, les avantages de Struts sont :
1. Implémentez le modèle MVC avec une structure claire, permettant aux développeurs de se concentrer uniquement sur la mise en œuvre de la logique métier.
2. Il existe une multitude de balises pouvant être utilisées. La bibliothèque de balises Struts (Taglib) peut grandement améliorer l'efficacité du développement si elle peut être utilisée de manière flexible. De plus, en ce qui concerne les développeurs JSP nationaux, en plus d'utiliser les balises communes fournies avec JSP, ils développent rarement leurs propres balises. Peut-être que Struts est un bon point de départ.
3. Navigation dans les pages. La navigation dans les pages sera une direction de développement à l'avenir. En fait, cela rendra le contexte du système plus clair. Grâce à un fichier de configuration, vous pouvez saisir la connexion entre les différentes parties de l'ensemble du système, ce qui est très utile pour une maintenance ultérieure. Cet avantage devient encore plus évident lorsqu'un autre groupe de développeurs reprend le projet.
4. Fournir un mécanisme de gestion des exceptions.
5. Gestion du pool de connexions à la base de données
6. Prise en charge I18N
défaut:
1. Lorsque vous accédez à la couche d'affichage, vous devez configurer le transfert. Chaque fois que vous accédez à la couche d'affichage, je pense que la plupart d'entre eux vont directement à jsp. En ce qui concerne la redirection, vous devez configurer le transfert. jsps dans la couche d'affichage, vous devez configurer dix fois Struts, et cela n'inclut parfois pas les modifications de répertoires et de fichiers, qui nécessitent une re-modification du transfert. Notez que chaque fois que la configuration est modifiée, l'ensemble du projet doit être modifié. redéployé, et un serveur comme Tomcate doit être redémarré Si les changements métier sont complexes et fréquents, une telle opération est d'une simplicité inimaginable. Ça y est, des dizaines ou des centaines de personnes utilisent notre système en ligne en même temps. Vous pouvez imaginer à quel point je suis troublé.
2. L'action Struts doit être thread-safe, ce qui permet à une seule instance de gérer toutes les requêtes. Par conséquent, toutes les ressources utilisées par les actions doivent être uniformément synchronisées, ce qui entraîne des problèmes de sécurité des threads.
3. Les tests ne sont pas pratiques. Chaque action de Struts est couplée à la couche Web, ses tests dépendent donc du conteneur Web et les tests unitaires sont également difficiles à mettre en œuvre. Cependant, il existe un outil d'extension Junit, Struts TestCase, qui peut implémenter ses tests unitaires.
4. Conversion de type. FormBean de Struts traite toutes les données comme du type String et peut utiliser l'outil Commons-Beanutils pour la conversion de type. Mais sa conversion se fait entièrement au niveau de la classe et le type de conversion n'est pas configurable. Il est également très difficile de renvoyer à l'utilisateur des messages d'erreur lors de la conversion de type.
5. Trop de dépendance à l'égard de Servlet. Struts doit s'appuyer sur ServletRequest et ServletResponse lors du traitement de l'action, il ne peut donc pas se débarrasser du conteneur Servlet.
6. En termes de langage d'expression frontal, Struts intègre JSTL, il utilise donc principalement le langage d'expression JSTL pour obtenir des données. Cependant, le langage d'expression de JSTL est très faible dans la gestion des propriétés de collection et d'index.
7. Il est difficile de contrôler l'exécution d'une action. Lorsque Struts crée une action, il sera très difficile de contrôler son ordre d'exécution. Vous devrez peut-être même réécrire le servlet pour répondre à vos exigences fonctionnelles.
8. Traitement avant et après l'exécution de l'action. Lorsque Struts traite l'action, il est basé sur des hiérarchies de classes. Il est difficile d'effectuer des opérations avant et après le traitement de l'action.
9. Prise en charge insuffisante des événements. Dans Struts, un formulaire correspond en réalité à une classe Action (ou DispatchAction). En d'autres termes : Dans Struts, un formulaire correspond en réalité à un seul événement. Cette méthode événementielle dans Struts est appelée application event, application. L'événement est un événement à granularité grossière par rapport à l'événement composant.
L'objet de formulaire important de Struts, ActionForm, est un objet qui représente une application. Cet objet contient au moins plusieurs champs. Ces champs sont des champs de saisie dans le formulaire de la page Jsp, car un formulaire correspond à un événement. la granularité est affinée pour ces champs dans le formulaire, c'est-à-dire que lorsqu'un champ correspond à un événement, il est impossible d'utiliser simplement Struts. Bien sûr, cela peut également être obtenu en combinant JavaScript.
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/zhrl0000/archive/2009/12/17/5027947.aspx.
-