2009-08-14 6 views
5

J'ai récemment ajouté Struts 1.3 à mon application sur Tomcat. Voici mes observations,Quels sont les avantages de Struts

  1. MVC. Servlet/JSP est très bien pour moi, où JSP est la vue et servlet est le contrôleur. Je ne vois aucun avantage à obtenir le mappage à partir d'un fichier XML, car notre mappage est très statique.
  2. Formulaire d'action. Je peux voir quelques avantages de la forme d'action mais pas énorme.
  3. Tags. J'utilise déjà JSTL et je ne vois aucun avantage à utiliser les balises Struts.

Donc je pense à supprimer Struts. Tout le monde peut penser à d'autres avantages que j'ai pu manquer?

+2

Retirez-le. Struts est un héritage. Personne, à moins d'être sévèrement contraint, devrait choisir Struts pour une nouvelle implémentation. – SteveD

+0

+1 complètement d'accord avec stevendick –

+0

Merci pour toutes les réponses. J'ai pris la décision de l'enlever. –

Répondre

11

Personnellement je préfère moi-même jsp/servlet mais théoriquement Struts a quelques avantages. Voici quelques-uns des avantages que je connais, vous les avez peut-être déjà mentionnés, mais j'ai pensé qu'il serait mieux si je liste tous ici.

  1. Configuration centralisée basée sur des fichiers. Les valeurs/mappages Struts sont représentés dans des fichiers XML ou de propriétés. Ce couplage lâche signifie que de nombreuses modifications peuvent être apportées sans modifier ou recompiler le code Java, et que des modifications importantes peuvent être apportées en modifiant un seul fichier. Cette approche permet également aux développeurs Java et Web de se concentrer sur leurs tâches spécifiques (implémentation de la logique métier, présentation de certaines valeurs aux clients, etc.) sans avoir besoin de connaître la disposition générale du système.

  2. Beans de forme.

  3. Étiquettes de haricots. Struts fournit un ensemble de balises JSP personnalisées qui vous permettent de générer facilement les propriétés des composants JavaBeans.

  4. Balises HTML. Struts fournit un ensemble de balises JSP personnalisées pour créer des formulaires HTML associés aux composants JavaBeans. Cette association de bean/formulaire a deux objectifs:

    • Il vous permet d'obtenir des valeurs de champ de forme initiales à partir d'objets Java.
    • Il vous permet de réafficher des formulaires avec certaines ou toutes les valeurs entrées précédemment intactes.
  5. Validation de champ de forme. Struts a un validateur robuste et extensible qui peut être utilisé pour valider uniformément vos champs de formulaire. Cette validation peut être effectuée sur le serveur (en Java), ou à la fois sur le serveur et sur le client (en JavaScript).

  6. "Code de plomberie" contenu dans le cadre de Struts. Le mappage des paramètres de requête HTTP aux objets Java est géré par Struts, par exemple. Vous n'êtes pas obligé de le faire. Cela vous permet de vous concentrer davantage sur le problème du domaine au lieu de créer une infrastructure.

  7. Bonne documentation & beaucoup de livres. Si vous devez quitter le projet et/ou que quelqu'un d'autre doit le maintenir, l'utilisation d'un cadre bien connu et bien documenté facilitera grandement ce travail. Un cadre homebrewed ne peut tout simplement pas correspondre à cela.

  8. Essais approfondis de l'utilisateur. Puisque Struts est utilisé dans de nombreuses applications web, le framework sera regardé par beaucoup plus d'yeux que tout ce que vous pourriez écrire seul. Habituellement, mais pas toujours, cela signifie que tous les problèmes que vous avez auront été vus par quelqu'un d'autre (et, espérons-le résolu) d'abord.

3

Grande base de connaissances. Je suis d'accord que ce n'est peut-être pas aussi valable que par le passé, mais Struts a été utilisé dans de nombreux projets au cours des années. Du point de vue de la maintenabilité, en utilisant un cadre bien connu, il est plus facile pour d'autres personnes de travailler sur votre application et aussi de construire votre propre curriculum vitae pour l'avenir. À l'heure actuelle, la plupart du développement est soit dans l'espace basé sur les composants (JSF, wicket, tapestry) ou dans l'espace comme des rails (comme rails, grails, lift) mais les entretoises arcitechture est toujours en cours d'utilisation et valide. Vous n'avez pas dit si vous vous développiez dans un environnement d'entreprise ou non, pour un projet personnel, la question de la maintenabilité n'est peut-être pas un problème majeur. Si vous décidez que les Struts vous conviennent, vous pouvez aussi regarder stripes, un framework de type Struts qui est basé sur les mêmes concepts mais qui est moins bavard lorsqu'il s'agit de configuration avec des valeurs par défaut plus raisonnables, moins de XML et de support pour les annotations.

3

Je suis tout à fait d'accord avec vous sur Struts - personnellement, je pense que son heure est venue.

Je suis sorti de Struts dans v1 (qui je crois ne ressemble en rien aux dernières versions) parce que les haricots de formulaire où juste ajouté le code standard pour écrire. Depuis, la plupart des applications sur lesquelles j'ai travaillé utilisent Spring comme framework d'injection de dépendances, ce qui a fait de Spring MVC le choix naturel: simple, direct et minimal.

1

Pas seulement pour Struts. Mais quelques points à considérer pour l'utilisation d'un framework:

  • Standarisation.
  • IDE ou plugins spécialisés pour votre IDE préféré.
  • Portabilité. Par exemple, quelqu'un peut développer un portlet pour intégrer votre application Struts existante dans un serveur de portail.
  • Internationalisation.

Le plus important pour moi:

  • Vous n'avez pas à vous soucier des questions sur le code barres, simplement mise à niveau.
  • Vous pouvez vous concentrer sur votre travail dans la logique métier.
1

Struts est ouvert Source-- Large ---- Nombre de livres disponibles ----- ---- FrameWork Proven cadre populaire ----- Disponible depuis 2001-- - + ---- les caractéristiques mentionnées ci-dessus ...

mais lorsque vous utilisez des entretoises, le meilleur choix est struts2.

1

Je pense que votre avis sur la suppression de Struts est une réaction saine et compréhensible. Struts ne semble pas faire beaucoup pour une application.

Questions connexes