Originally posted by Karthik Guru: Author has indicated here, what Spring provides. It clearly shows that Spring is much more than tapestry, struts etc and hence it wouldnt be right to compare them with Spring.
It would be fair to compare just Spring MVC with Struts, Tapestry, WebWork and the like. But because Spring offers so much more than those other frameworks, it wouldn't be a fair comparison (Spring would win by a knock-out).
That said, (and this is just my opinion), I favor Spring MVC over Struts and WebWork. I've used Spring MVC in a handful of production apps and they've been a great success. I favor Spring MVC over Struts because Spring MVC comes with such a broad selection of Controller implementations to choose from (and for several reasons I've outlined in a post earlier this week). And, if you like the WebWork way of doing things, Spring MVC also has what they call ThrowawayController which lets you write MVC apps in the style of WebWork. And then consider all of the other stuff that Spring comes with and Spring MVC is a clear winner.
Then again, lately I've begun to prefer to use Tapestry in my presentation layer because I really like how Tapestry lets me take a raw HTML file and, with minimal effort and change, turn it into a Tapestry template. But, even though I'm using Tapestry in the presentation layer, I'm still using Spring in the service layer and Spring's integration with Hibernate to get to my persistence layer.