[kinda OT] Recommended Java Web Frameworks


Being an avid Rails user for over two years now, it’s very hard for me to even consider using another type of framework, much less another language altogether than Ruby. However, I do need to do a web portal for a customer in Java. I’ve been researching the available frameworks from Struts, Spring, and JBoss to RIFE, Tapestry, and Trails, and they all come across to me as a dirty conglomeration of Java code snippets and tons of XML configuration files. I have plans on using Prototype / Scriptaculous, so I’m looking for frameworks that support AJAX, and of course link in well with an ORM like Hibernate. For those of you who have been in this situation, what did you choose and why?

Thanks for your input.

Jason Roelofs

The latest and greatest thinking in the java web frameworks is full stack
stuff through JSF with Spring and Hibernate in the middle. Leading examples
I can think of are SEAM and Shale.
They are not up there with the directness of Rails, but they are steps in the
right direction, keeping all the wide applicability of the Java technology and
minimising the glue code and configuration.

After some more research, I stumbled upon Stripes: http://stripes.mc4j.org/confluence/display/stripes/Home

Stripes is the first Java framework I’ve seen to embrace “convention
over configuration.” You can do all your work without jumping into any
sort of XML configuration / glue files, though they are available for
special cases. It doesn’t come with a persistence layer, but there’s a
project Stripernate
(http://www.mongus.com/Topics/Web%20Development/Stripernate/) that adds
support for Hibernate that also eliminates XML configuration where it
can. Heck, some people are even saying that Stripes is better than Rails because of this non-reliance on a persistence layer, however I personally will not go that far, Java is not Ruby.

With SEAM, according to this tutorial:
http://docs.jboss.com/seam/1.0.1.GA/reference/en/html/tutorial.html you
need to edit 5 different XML files to get the application working
(including web.xml). While this may be fewer than Struts 1.x, it’s still 4 files too many for anyone trying to just get a web site up and running.

On top of all this, the website is packed full of well-written tutorials and plenty of information. Check it out, it looks promising.


I would recommend you Wicket Web Framework. http://

It is nice framework and it was real pleasure for me (I am anti-XML
guy) to work with it. All logic implemented in Java. It is easy to
develop, easy-to debug. Wicket is easier in learning and using than
JSF and similar "enterprise frameworks". From all Java frameworks that
I've used, Wicket concepts closier to RoR (DRY, Conversation over
configuration, easy of develop, very good performance, small
footprint). And wicket has very active community.

So this framework is really worth to look.