Mi sembra difficile abbracciare un framework Java MVC, quando sembra che Servlets, JSP e un DAO leggero faranno tutto ciò che è necessario per disaccoppiare i controller/viste/modelli. Per PHP posso vedere la necessità dal momento che non ci sono costrutti incorporati come i servlet, ma i framework Java MVC ti danno davvero tanto di più?Perché utilizzare un framework MVC quando servlet, JSP e un leggero layer DAO funzioneranno?
risposta
Un'area in cui i servlet/JSP sono piuttosto deboli è la testabilità. Sebbene sia certamente possibile eseguire test di unità servlet usando i mock, non si sentono come se fossero progettati con test unitari in mente. Le JSP sono ancora più complicate. Potresti fare affidamento sui test funzionali ala Selenium, ma in questi giorni la gente vuole una copertura di prova unitaria. Alcuni dei più moderni framework Java MVC offrono unità di codice testabili più facilmente.
Nel complesso, tuttavia, si è certamente corretto che un semplice vecchio stack Tomcat con un database MySQL ha portato a termine il lavoro.
La maggior parte dei framework Web astraggono i dettagli di basso livello. Ad esempio, Wicket, Tapestry e JavaServer Faces consentono di pensare in termini di componenti (ad esempio pulsanti, etichette, elenco a discesa, ecc.) Anziché protocolli http. Anche i framework Web orientati all'azione come Spring MVC e Struts offrono un livello superiore rispetto alle tecnologie di base utilizzate.
Come ulteriore vantaggio, questi framework sono dotati di funzionalità aggiuntive, come Ajax, Comet, integrazione con i framework di persistenza, che funzionano immediatamente.
Ovviamente, come ha sottolineato Asaph, i framework Web di solito sono più facili da testare.