OpenSymphony WebWork2
WebWork is a Java Web development framework focusing on developer productivity. WebWork is based on a powerful command pattern framework XWork. WebWork aims to reduce the application plumbing requirements, there by boosting developer productivity. Some of the key features are,
- Highly flexible validation framework which is independent.
- A powerful dynamic object navigation framework called OGNL.
- Re-usable components promoting component oriented Web development.
- Painless integration with other technologies such as Hibernate, Spring, Sitemesh etc.
- Built in Ajax support using themes.
Apache Wicket
Apache Wicket is a Web application framework written in Java. Wicket is a component based development framwork. Wicket provides transparent state management and Wicket pages can be edited using HTML authoring tools. There are no XML configuration files (no XML is becoming a feature these days!) and all processing is done in Java.
Wicket promotes separation of concerns and Java properties and HTML markup is associated using Wicket ids. Wicket also provides transparent clustering support. Wicket also provides a set of re-usable components such as Pageable ListView and Tree component.
Spring Framework
Spring Framework is an open source Web application framework in Java. The original version was written by Rod Johnson as part of sample code for the book Expert One-on-One Java EE Design and Development. It became very popular due to the high developer productivity associated with the use of it.
Different components of Spring can be used independently. For example, Spring MVC can be used or Spring Data Access can be used independently.
Key features of Spring are,
- Dependency injection technique is used to minimize coupling between components.
- An elegant abstraction layer for database access and transactions, there by increasing productivity.
- MVC Web application framework built on Spring core components.
- Inversion of control container for configuration of application components and lifecycle management.
- High level abstraction for messaging, testing, authentication/authorization and remote management.
Struts2 Framework
Struts2 is a modern Web application framework for creating enterprise level Java Web applications. Struts2 is a joint effort between Struts and Webwork teams. Struts2 is based on WebWork2. Compared to Struts1, Struts2 is much more flexible and promotes a structured approach to Web application development.
Some of the key Struts2 features are,
- Comprehensive tag libraries for UI development and for reusable components.
- Major Web application needs such as error handling, validation and internationalization built into the struts core.
- Complete AJAX support enables creation of highly responsive Web applications.
- Struts2 stresses on reducing development effort by focussing on convention rather than on configuration.
- Extensive list of plugins for third party integration.
Struts2 is still in heavy development and in the near future is expected to become a popular Web framework.
Struts MVC framework
Struts is one of the most popular open source Web application framework in Java. Struts follows Model-View-Controller design pattern (separation of concerns) in its implementation. Struts is part of the Apache projects and is maintained by Apache software foundation.
Since this is released under “Apache license”, Struts can be used in commercial applications.