Create powerful and platform-independent web applications built on JAVA frameworks, for software that can run on all modern operating systems. JAVA is an object-oriented, secure, distributed and robust framework which can be used to develops nearly all software related projects.
The JSF Framework boasts a clean separation between presentation and behaviour in web applications. It is highly extensible and offers custom tag libraries. By design, the JSF allows the creation of reusable components, many of which are available as open source from Apache, Oracle, Infragistics, etc. JSF has all the advantages of an MVC framework with an added component architecture to build the view.
The Spring MVC framework offers a powerful framework with the flexibility of opting in to many of it optional features. The framework is entirely based on interfaces and most of its MVC components are configurable by using a custom interface. Spring provides a clear division between views, controllers, and JavaBean modules. Moreover it is compatible with view technologies other than JSP, such as XSLT or Velocity.
The Google Web Toolkit (GWT) is a Rich Internet Application (RIA) Framework that Google itself uses on many of its web pages or web applications. It comes with a collection of widgets which can be easily customized and extended to handle particular use cases or to provide application specific functionality. Use XML syntax for creating interface controls and the JAVA language for implementing functionality.
The Struts2 web application framework has a sophisticated controller architecture, a highly reusable templating system and a solid MVC pattern. The framework also includes a robust and extensible data validation system which dynamically generates code for client and server nodes based on a configuration file. Struts also implements Action classes to uniquely respond to and validate client node HTTP requests.
The Grails framework is ideal for rapid project development in small to medium sized projects. Use the Groovy syntax for more productivity in development. Integrate Grails seamlessly into other Java enterprise applications, as they can be extended without compromising the projects. Grails is also built on top of Spring MVC and may integrate Spring components.