What is the best MVC framework inmplementation in java? It has to be:
- lightweight
- KISS philosophy
- be able to make changes to the views without compile
- minimalistic; few lines of code
What is the best MVC framework inmplementation in java? It has to be:
I am a big fan of Spring MVC. Its pretty light weight and very customizable. You can both annotations and configurations.
And it also does not require alot of code to get up and running.
I've begun to use Spring which is a great framework, but a lot of people rave about Groovy, especially since it appears to fulfill that minimalistic code requirement.
See also http://stackoverflow.com/questions/116978/can-anyone-recommend-a-simple-java-web-app-framework
I vote for Spring MVC as well.
Let me recommend Apache Wicket. It is very simple and suits modern Java coding styles very well (no XML configuration, Annotations, etc.).
For bigger application Spring MVC is certainly great and may have a bigger community than Wicket.
Stripes would be very well-suited to your requirements. I think you've essentially enumerated the key objectives of Stripes, so you'll really enjoy using it, in my opinion. Check out the Stripes book blog for links to the book, a quickstart Ant script that sets up a Stripes ready-to-run project for you, and some tips'n'tricks.
My vote would be for Induction. Induction implements dynamic class reloading, minimizing the need for container restarts. It supports multi-action controllers, encourages dependency injection into controller methods, provides concise model life-cycle management, and requires very little configuration. It makes easy work of model-to-model wiring by supporting dependency injection into model constructors (or factories).
I personally like Struts2. Just don't use the built in AJAX support.
For KISS, minimal amount of code and immediate update on code modification take a look at GRAILS (Groovy is the language that the MVC is programmed with) http://grails.org/
im forced to use Spring MVC over struts 2..to be honest its very good although its learning curve is not exponential but smooth..but when i tried struts 2 i found it really amazing but its main draw back was not enough resources or documentation..if you want a framework which is acceptable by market and appreciated alot then go with spring MVC..Its very elegant and sophisticated framework that will force you to sit on one knee for it.
Struts2, the know that HAR wrote in 09 not enough documentation, but today it has plenty, including several books and if you want to understand the foundational thought read a book on webwork. As far as a compilation of technology goes I recommend Struts2 as the MCV, Spring as the IoC container and Hibernate as the ORM. If you are doing any type of site that requires multilingual support and a great pattern of implementation AKA interceptors and chain or responsibility, model driven than this it he way to go. I have worked with Spring MVC, grails,and wicket, my money is on Struts2. As for ajax, I use JQuery and DWR, they are great tools with a good community.
If tool support is important I strongly recommend JavaServer Faces. It has good tool support in IntelliJ IDEA and Eclipse.
JSF 2 bakes in Facelets. The Facelets piece lets you easily write new components and views without restarting the server. JVM Hot Deploy is usually sufficient.
Don't underestimate the importance of tool support. It is very useful for less experienced developers.