Take the 2-minute tour ×

I am gonna start a new JAVA web project and have no idea what framework to use. For those with more experience, I will mention the key features I am expecting from the Framework

  1. MVC
  2. Is already mature (min 2 year)
  3. Good documented (in a week I should know exactly where to find anything), eventually if you can suggest a good book for the framework.
  4. HAS ALREADY a very good support for the M(odelling), for example somethng like Grails (domanin classes with relationships between them), or complexer things like transaction, Hibernate support, ...
  5. To be scalable, very important.
  6. Not very hard to learn (4 weeks to get a good understanding of the framework).
share|improve this question
add comment

4 Answers

You have lots of options, and much discussed here:

Best Java RAD web framework

Best Web applications framework for Java?

Best java mvc framework implementation for web apps

Personally I would recommend Spring MVC - easy to link up with Hibernate (JPA implementations) to manage transactions, domain classes, controllers etc. Can also be linked with most the popular web ui frameworks.

Think it pretty much hits all your requirements pretty well, with the exception of maybe 6. as its not as lightweight in terms of learning as something like Grails (using convention over configuration) so you need to understand the xml config etc. but I think Roo will get you on your way pretty well - especially if you have a background in java already

Also check Spring Roo if you want the RAD stuff.

share|improve this answer
add comment

Given your requirements I would have to recommend Spring. To be frank you can't go wrong with that framework - it has a VERY robust development community, and a full technology stack. The learning curve is somewhat steeper than say - Tapestry, but you are looking for a convention over configuration solution and those take longer to learn. Having said that it shouldn't take more than a week to get a Spring application stood up, even for a newbie. Learning the framework in and out will take much longer, of course.

Spring Framework - Wikipedia


Hope that helps.

share|improve this answer
add comment

Play! Framework

I have been using Play! Framework the last months, and I really like it. It has a very short development cycle - just save the source file and update the web page in the browser, because it's automatically compiled. And the framework is easy to understand and has good documentation. And it is lightweight with good performance.

It can be deployed both using Netty (recommended) or as a war-file on any Servlet-container e.g. GlassFish or Jetty.

share|improve this answer
Is it scalable? Does it have a solid ORM? –  Andrei I Jun 17 '11 at 18:03
@Andrei: It's probably more scalable than any other Java web framework, e.g. see jtict.com/blog/rails-wicket-grails-play-lift-jsp and it's stateless. It has support form many ORMs, the default is JPA/Hibernate. –  Jonas Jun 17 '11 at 19:30
add comment

Id use Grails. There are a few gotchas, but in general its very easy to use.

share|improve this answer
What I really don't like, is that there is no Type-safety. And how scalable is Grails? –  Andrei I Jun 17 '11 at 18:02
yes, you will encounter more runtime type issues with Grails, but these can be addressed with good testing practices. I personally rarely use the def declaration, preferring strong types. One of the strengths of Groovy. Grails is very scalable. –  hvgotcodes Jun 17 '11 at 18:16
And also, I don't like, that the support in Eclipse or Netbeans for Grails is not the best. In Netbeans autocomplete and refactoring support is very weak. What IDE do you use? –  Andrei I Jun 17 '11 at 19:03
@andrei, i use intellij. –  hvgotcodes Jun 17 '11 at 19:28
add comment

Your Answer


