Maison  >  Article  >  Java  >  Que signifie la structure Java ?

Que signifie la structure Java ?

(*-*)浩
(*-*)浩original
2019-05-28 12:36:043785parcourir

Struts, comme Tomcat, Turbine et bien d'autres projets Apache, est un logiciel open source, ce qui est 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.

Que signifie la structure Java ?

Le framework Struts lui-même est une implémentation Model-View-Controller (MVC) utilisant la technologie JavaServlet et JavaServerPages.

Plus précisément,

Les avantages de Struts sont :

1 Il implémente le modèle MVC et a une structure claire, permettant aux développeurs de se concentrer uniquement sur la mise en œuvre de. logique métier.

2. Une bibliothèque de balises Struts riche (Taglib), si elle est utilisée de manière flexible, peut considérablement améliorer l'efficacité du développement. 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 par page. La navigation par page 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 de I18N

Inconvénients :

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 vers jsp. En ce qui concerne la redirection, vous devez configurer le transfert. S'il y a dix couches d'affichage, jsp doit configurer Struts dix fois, et cela n'inclut parfois pas les modifications de répertoires et de fichiers, qui nécessitent une re-modification du transfert. Notez qu'à chaque fois que la configuration est modifiée, l'ensemble du projet doit être modifié. redéployé, et pour des serveurs comme tomcate, le serveur doit être redémarré si l'entreprise évolue vers un système complexe et fréquent, une telle opération est 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, donc ses tests dépendent 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. Le langage d'expression front-end 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. Difficulté à contrôler l'exécution de l'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 une action, il est basé sur des hiérarchies de classes. Il est difficile d'opérer 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. appelé événement d'application. Comparé à l'événement de composant, l'événement d'application est un événement à granularité grossière.

L'objet 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. , Par conséquent, lorsque nous devons affiner la granularité des événements à ces champs dans le formulaire, c'est-à-dire lorsqu'un champ correspond à un événement, il est impossible d'utiliser simplement Struts. Bien sûr, cela peut également être réalisé en combinant JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que sont les variables en JavaArticle suivant:Que sont les variables en Java