> **FEATURES COMPARING**
>
> **Struts 2**
>
> - Configurable MVC components, which are stored in struts.xml file. If you want to change anything, you can easily do it in the xml file.
>
> - POJO based actions. Struts 2 action class is Plain Old Java Object, which prevents developers to implement any interface or inherit any
> class.
>
> - Support for Ajax, which is used to make asynchronous request. It only sends needed field data rather than providing unnecessary
> information, which at the end improves the performance.
>
> - Support for integration with Hibernate, Spring, Tiles and so on.
>
> - Whether you want to use JSP, freemarker, velocity or anything else, you can use different kinds of result types in Struts 2.
>
> - You can also leverage from various tags like UI tags, Data tags, control tags and more.
> - Brings ample support for theme and template. Struts 2 supports three different kinds of themes including xhtml, simple and
> css_xhtml.<br/><br/>
>
> **Spring MVC**
>
> - Neat and clear separation of roles. Whether it is controller, command object, form object or anything else, it can be easily
> fulfilled with the help of a specialized object.
>
> - Leverage from the adaptability, non-intrusiveness and flexibility with the help of controller method signature.
>
> - Now use existing business objects as command or form object rather than duplicating them to extend the specific framework base class.
>
> - Customizable binding and validation will enable manual parsing and conversion to business objects rather than using conventional string.
>
> - Flexible mode transfer enables easy integration with the latest technology.
>
> - Customizable locale and theme resolution, support for JSPs with or without Spring tag library for JSTL and so on.
>
> - Leverage from the simle, but powerful JSP tag library known as Spring tag library. It provides support for various features like data
> binding and themes. <hr/>
> **BENEFITS COMPARING**
>
> **Struts 2**
>
> - Simplified design
>
> - Ease of using plug-in
>
> - Simplified ActionForm & annotations
>
> - Far better tag features
>
> - OGNL integration
>
> - AJAX Support
>
> **Spring MVC**
>
> - Clear separation between controllers, JavaBeans models and views that is not possible in Struts.
>
> - Spring MVC is more flexible as compared to the Struts.
>
> - Spring can be used with different platforms like Velocity, XLST or various other view technologies.
>
> - There is nothing like ActionForm in Spring, but binds directly to the domain objects.
>
> - Code is also more testable as compared to the Struts.
>
> - It is a complete J2EE framework comprising of seven independent layers, which simplifies integration with other frameworks.
>
> - It doesn’t provide a framework for implementing the business domain and logic, which helps developers create a controller and a view for
> the application.
(Source
[To see links please register here]
)