Wednesday, January 30, 2013

Struts2 Framework


<--Previous                                                      Next-->

  1. The high-level design of Struts 2 follows the well-established Model-View-Controller design pattern.
  2. As Struts2 follows MVC design pattern it will provide the clear separation between the components.
  3. The MVC design pattern identifies three distinct concerns: model, view, and controller. In Struts 2, these are implemented by the action, result, and FilterDispatcher respectively as shown in the below figure.

Struts 2 framework features:
Here are some of the great features that may force you to consider Struts2
  1. POJO forms and POJO actions - Struts2 has done away with the Action Forms that were an integral part of the Struts framework. With Struts2, you can use any POJO to receive the form input. Similarly, you can now see any POJO as an Action class.
  2. Tag support - Struts2 has improved the form tags and the new tags allow the developers to write less code.
  3. AJAX support - Struts2 has recognized the takeover by Web2.0 technologies, and has integrated AJAX support into the product by creating AJAX tags, that function very similar to the standard Struts2 tags.
  4. Easy Integration - Integration with other frameworks like Spring, Tiles and SiteMesh is now easier with a variety of integration available with Struts2.
  5. Template Support - Support for generating views using templates.
  6. Plugin Support - The core Struts2 behavior can be enhanced and augmented by the use of plugins. A number of plugins are available for Struts2.
  7. Profiling - Struts2 offers integrated profiling to debug and profile the application. In addition to this, Struts also offers integrated debugging with the help of built in debugging tools.
  8. Easy to modify tags - Tag markups in Struts2 can be tweaked using Freemarker templates. This does not require JSP or java knowledge. Basic HTML, XML and CSS knowledge is enough to modify the tags.
  9. Promote fewer configurations - Struts2 promotes fewer configurations with the help of using default values for various settings. You don't have to configure something unless it deviates from the default settings set by Struts2.
  10. View Technologies: - Struts2 has a great support for multiple view options (JSP, Freemarker, Velocity and XSLT)
The above are just the top ten features of Struts 2 that makes it an enterprise ready framework.

Struts 2 disadvantages:
Though Struts 2 comes with a list of great features but I would not forget to mention few negative points about Struts 2 and would need lots of improvements:
  1. Bigger learning curve - To use MVC with Struts, you have to be comfortable with the standard JSP, Servlet APIs and a large & elaborate framework.
  2. Poor documentation - Compared to the standard servlet and JSP APIs, Struts has fewer online resources, and many first-time users find the online Apache documentation confusing and poorly organized.
  3. Less transparent - With Struts applications, there is a lot more going on behind the scenes than with normal Java-based Web applications which makes it difficult to understand the framework.

2 comments: