Je trouve qu'il est difficile d'adopter un environnement Java MVC, quand il semble que les Servlets, les JSP et un DAO léger feront à peu près tout ce dont vous avez besoin pour découpler les contrôleurs/vues/modèles. Pour PHP, je peux voir la nécessité car il n'y a pas de constructions intégrées comme les servlets, mais est-ce que les frameworks Java MVC vous en donnent vraiment beaucoup plus?Pourquoi utiliser une infrastructure MVC lorsque les servlets, les JSP et une couche DAO légère fonctionnent?
Répondre
Une zone dans laquelle les servlets/JSP sont quelque peu faibles est la testabilité. Bien qu'il soit certainement possible de tester des servlets à l'aide de simulacres, ils n'ont pas l'impression d'avoir été conçus en pensant aux tests unitaires. Les JSP sont encore plus délicates. Vous pouvez compter sur des tests fonctionnels au sélénium, mais ces jours-ci, les gens veulent une couverture de test unitaire. Certains des frameworks Java MVC les plus modernes vous offrent des unités de code plus facilement testables.
Dans l'ensemble cependant, vous avez certainement raison de dire qu'une ancienne pile Tomcat avec une base de données MySQL fait le travail.
La plupart des frameworks Web éliminent les détails de bas niveau. Par exemple, Wicket, Tapestry et JavaServer Faces vous permettent de penser en termes de composants (par exemple, boutons, étiquettes, liste déroulante, etc.) au lieu de protocoles http. Même les frameworks Web orientés vers l'action tels que Spring MVC et Struts vous permettent d'atteindre un niveau supérieur aux technologies sous-jacentes utilisées. En plus, ces frameworks sont dotés de fonctionnalités supplémentaires, telles que Ajax, Comet, l'intégration avec les frameworks de persistance, qui fonctionne hors de la boîte. Bien sûr, comme l'a souligné Asaph, les frameworks web sont généralement plus faciles à tester.
- 1. Servlets et didacticiels vidéo JSP
- 2. JSP/Servlets déclencher une mise à jour SQL
- 3. JavaScript et pourquoi les majuscules fonctionnent parfois et parfois non
- 4. Utilisation simultanée de servlets et de JSP entraînant une boucle inattendue
- 5. sécurité avec JSP/Servlets/JavaBeans/MySQL
- 6. Il existe une couche de compatibilité pour transférer l'application AppEngine vers une infrastructure autre que Google?
- 7. Spring MVC et JSP framework
- 8. Pourquoi une bordure de zone de texte est-elle légère et disparaît lorsque le texte la remplit?
- 9. compte à rebours dans JSP/Servlets
- 10. Meilleure infrastructure pour une situation
- 11. Les méthodes d'extension ne fonctionnent pas pour une interface
- 12. jQuery Les liens de retour ne fonctionnent pas lorsque Ajax
- 13. Pourquoi utiliser l'objet ServletContext dans une application web contenant des servlets et des threads "worker" en Java
- 14. comment fonctionnent les boutons radio avec la liaison mvc asp.net
- 15. Comment faire pour que les attributs dynamiques fonctionnent dans les fichiers de balises JSP?
- 16. images flottantes dans une couche, à l'intérieur une autre couche
- 17. MVC sur IIS6 - Les liens 'Home' ne fonctionnent pas correctement
- 18. NHibernate et une couche de service REST
- 19. Comment fonctionnent les contextes OpenGL et les contextes de périphériques?
- 20. Est-il difficile de convertir une application web construite avec JSP, Servlets & mySQL en une version avec Spring & Hibernate?
- 21. Pourquoi utiliser une affectation dans une condition?
- 22. Existe-t-il une couche d'abstraction .NET OS pour que les appels OS fonctionnent de manière multi-plateforme?
- 23. Pourquoi rand() retournerait-il une valeur négative lorsque les valeurs min et max sont positives?
- 24. Pourquoi les info-bulles de Shell_NotifyIcon ne fonctionnent-elles pas?
- 25. Pourquoi les globals sont-ils vides dans une classe lorsque les variables sont incluses?
- 26. Pourquoi, lorsque j'inscris mes routes dans un test MVC, NUnit partage-t-il les tests?
- 27. Workflow Windows et infrastructure compacte
- 28. Pourquoi une exception Hibernate LazyInitializationException s'affiche-t-elle dans cette application Web Spring MVC lorsque les données s'affichent correctement?
- 29. Navigation de produit dans les servlets Java
- 30. Pourquoi les variables de session ne fonctionnent pas correctement lorsque vous suivez un lien depuis un document MS Word