Différence entre Spring MVC et Struts MVC [fermé]

Quelle est la différence majeure entre le Spring MVC et Struts MVC?

36
demandé sur Rais Alam 2011-05-30 10:35:52

6 réponses

La principale différence entre Spring MVC et Struts est: Spring MVC est un cadre faiblement couplé alors que Struts est étroitement couplé. Pour les applications d'entreprise, vous devez construire votre application aussi faiblement couplée que cela rendrait votre application plus réutilisable et robuste ainsi que distribuée.

37
répondu hossaindoula 2011-06-27 13:39:14

Si vous voulez comparer Spring MVC avec struts, considérez ci-dessous l'avantage de Spring MVC sur Struts.

  1. Spring fournit une division très nette entre les contrôleurs, les modèles JavaBean et les vues.
  2. Le MVC de Spring est très flexible. Contrairement à Struts, qui force vos objets D'Action et de forme dans l'héritage concret (enlevant ainsi votre coup unique à l'héritage concret en Java), Spring MVC est entièrement basé sur des interfaces. En outre, à peu près toutes les parties du printemps MVC framework est configurable via le branchement de votre propre interface. Bien sûr, nous fournissons également des cours de commodité comme option de mise en œuvre.
  3. Spring, comme WebWork, fournit des intercepteurs ainsi que des contrôleurs, ce qui facilite la prise en compte du comportement commun à la gestion de nombreuses demandes.
  4. Spring MVC est vraiment agnostique. Vous n'êtes pas poussé à utiliser JSP si vous ne le souhaitez pas; vous pouvez utiliser Velocity, XLST ou d'autres technologies de vue. Si vous souhaitez utiliser un affichage personnalisé mécanisme pour exemple, votre propre langage de Template - vous pouvez facilement implémenter L'interface Spring View pour l'intégrer.
  5. Les contrôleurs Spring sont configurés via IoC comme tous les autres objets. Cela les rend faciles à tester, et magnifiquement intégrés avec d'autres objets gérés par Spring.
  6. les niveaux Web Spring MVC sont généralement plus faciles à tester que les niveaux Web Struts, en raison de l'évitement de l'héritage concret forcé et de la dépendance explicite des contrôleurs sur le servlet dispatcher.
  7. Le le niveau web devient une couche mince au-dessus d'une couche d'objet métier. Cela encourage les bonnes pratiques. Les Struts et autres frameworks web dédiés vous laissent seuls dans la mise en œuvre de vos objets métier; Spring fournit un framework intégré pour tous les niveaux de votre application
17
répondu Rais Alam 2013-01-08 06:27:27

Le framework Web MVC de Spring est conçu autour d'un DispatcherServlet qui distribue les requêtes aux gestionnaires, avec des mappages de gestionnaires configurables, une résolution de vue, des paramètres régionaux et une résolution de thème, ainsi qu'une prise en charge des fichiers de téléchargement. Le gestionnaire par défaut est une interface de contrôleur très simple, offrant simplement une méthode ModelAndView handleRequest (request,response). Cela peut déjà être utilisé pour les contrôleurs d'application, mais vous préférerez la hiérarchie d'implémentation incluse, composée, par exemple AbstractController, AbstractCommandController et SimpleFormController. Les contrôleurs d'Application seront généralement des sous-classes de ceux-ci. Notez que vous pouvez choisir une classe de base: si vous n'avez pas de formulaire, vous n'avez pas besoin d'un formulaire de contrôleur. C'est une différence majeure avec Struts

8
répondu praveen 2011-12-02 03:44:38

La principale différence entre struts & spring MVC concerne la différence entre la programmation orientée Aspect (AOP) et la programmation orientée objet (OOP).

Spring rend l'application faiblement couplée en utilisant L'Injection de dépendance.Le noyau du cadre Spring est le conteneur IoC.

OOP peut faire tout ce que fait AOP, mais une approche différente. En d'autres termes, la POA complète la POO en fournissant une autre façon de penser à la structure du programme.

Pratiquement, quand vous souhaitez appliquer les mêmes modifications pour de nombreux fichiers. Il devrait être épuisé avec des entretoises pour ajouter le même code pour des tonnes de fichiers. Au lieu de cela, Spring écrit de nouveaux changements ailleurs et injecte dans les fichiers.

Certaines terminologies connexes D'AOP sont des préoccupations transversales, Aspect, injection de dépendance...

7
répondu Hai Nguyen 2015-11-17 12:33:50

Spring MVC est profondément intégré au printemps, Struts MVC ne l'est pas.

6
répondu Ralph 2011-05-30 06:37:56

Spring fournit une division très nette entre les contrôleurs, les modèles JavaBean et les vues.

1
répondu raja777m 2013-08-22 00:13:32