Struts really lead the way back in the day. I was a committer on the Struts 1 project and it really drove Java to the Web and made it so much easier for users to create simple and complex webapps so much faster than the j2EE way. Struts 2 came along and used the Chain of Responsibility pattern to add a whole stack of features which made it easier to extend and implement new features. It has a lot of baked in code to make completing simple tasks like routing and form capture relatively easy. Also it plays nice with a bunch 3rd party open source projects like Web Services frameworks like CXF or IOC containers like Spring. Review collected by and hosted on G2.com.
Struts kind of lost relevance in the world when Spring came out with their web controller offerings. It's a nice add on and was easy to configure but it lost it's way with the world when they didn't add in their own Dependency Injection. Just being MVC wasn't enough. Review collected by and hosted on G2.com.





