A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. The framework aims to alleviate the overhead associated with common activities used in Web development. Here is the list of SIX best web frameworks which we are using in Java. Each one has its own advantages.
1. Java Server Faces – JSF
- From Sun Microsystems
- Based on Component Centric approach
- Best Feature : The most using web framework. Because of its component architecture, the developer doesn’t need to mess with writing HTML, JavaScript etc to get rich “AJAX” type of functionality. It also takes care of state and event management. It has very less configuration too.
JavaServer Faces (JSF) is a new standard Java framework for building Web applications. It simplifies development by providing a component-centric approach to developing Java Web user interfaces. JavaServer Faces also appeals to a diverse audience of Java/Web developers. “Corporate developers” and Web designers will find that JSF development can be as simple as dragging and dropping user interface (UI) components onto a page, while “systems developers” will find that the rich and robust JSF API offers them unsurpassed power and programming flexibility. JSF also ensures that applications are well designed with greater maintainability by integrating the well established Model-View-Controller (MVC) design pattern into it’s architecture. Finally, since JSF is a Java standard developed through Java Community Process (JCP), development tools vendors are fully empowered to provide easy to use, visual, and productive develop environments for JavaServer Faces.
2. GWT
- From Google
- Based on Widgets
- Best Feature : Speed development. Easy to develop good, neat and “Browser independent” Ajax applications. Give more stress to pure browser independent ;).
Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don’t speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript’s lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.Project Home and More features
3. Stripes
- From Mc4j
- Based on MVC architecture
- Best Feature: No Configurations
. Annotation based programming makes coding more interesting and easy.
Stripes is a presentation framework for building web applications using the latest Java technologies. The main driver behind Stripes is that web application development in Java is just too much work! It seems like every existing framework requires gobs of configuration.Project Home and more features
4. Spring MVC
- From SpringSource
- Based on MVC architecture
- Best Feature : Speed development. Now so many Annotations are also included (v2.5). Its from SpringSource and have a good support too. Being a person who likes and works with Spring framework.. I really encouraged by their good and really fast support.
Spring Web MVC is the own web framework of Spring Framework.The Spring MVC Framework’s architecture and design are in such a way that every piece of logic and functionality is highly configurable. Also Spring can integrate effortlessly with other popular Web Frameworks like Struts, WebWork, Java Server Faces and Tapestry. It means that you can even instruct Spring to use any one of the Web Frameworks. More than that Spring is not tightly coupled with Servlets or Jsp to render the View to the Clients. Integration with other View technologies like Velocity, Freemarker, Excel or Pdf is also possible
5. Struts2
- From Apache
- Based on MVC architecture
- Best Feature : No more ActionForms! Use any JavaBean to capture form input or put properties directly on an Action class. Use both binary and String properties! and its enhanced and rich tags
Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.Project Home and More Features
6. Wicket
- From Apache
- Based on Component Centric approach
- Best Feature : Swing-like OO Component Model. This feature separates Wicket from all other frameworks
With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.Project Home and More Features here…
Please put your Suggestions and Ratings here and the frameworks which you are used and known as great ones. That will be more helpful to all of us to get the real idea. As we all know the selection is entirely related with the requirement, learning time and the using situation, this post is gives you an idea about the frameworks using nowadays. Its not at all easy to “rate” the Java frameworks and here I am putting this as per my knowledge and the current trends only. I expect your positive and negative suggestions through valuable comments. All the SIX frameworks noted here are excellent ones and do NOT consider the order as a RANK given to them.
Technorati Tags: GWT , JSF , Wicket , Spring , Spring MVC , Stripes , Struts2 , Struts , Best java web frameworks

I am not saying JSF is not a good framework. it surely looks promising. My problem with JSF till date is I still dont like the slow response of the JSF Visual builder in Netbeans. It still feels slow. the time Netbeans is spending thinking about how to generate page code, beans and classes to render one Button component that i dragged, i would have written 5 textfields and 2 submits buttons in Wicket by hand and wired them to the appropriate bean :). The day a fully supported Visual drag and drop tool exists for Wicket like JSF today, am sure nobody who has tasted wicket will use JSF again 🙂
@ Alex
🙂 Thanks for more information frnd
@Lijin
“a person who likes to code in Pure java, then Wicket is the Best one”
– it is the best not only for the person who likes to code pure java. My opinion is that wicket gives you the freedom to integrate easy your application with any third party js libraries:
For instance, adding a YUI calendar date picker is as simple as:
DateTextField txtDate = new DateTextField(“date”);
txtDate.add(new DatePicker());
add(txtDate);
It is also great for people who are not afraid of coding javascript (GWT is exactly the opposite). I must say that I love javascript, it is exceptional language, and the combination of Wicket + JS is all I need.
@ Kenneth
Thanks Kenneth.. thats for putting JSF is not bad as some comments says…
I must admit I have not use all but I agree with JSF. Many do complains
but my team are using it without too much headache.
We were mainly using Spring and when we got our first order requiring a JEE base application we choose JSF. From our experience it is not so bad and actually we are enjoying using this framework.
@ Dabar
Please find the UPDATE part of the blog friend. I know friend, a person who used Wicket once will really like it. After all we all likes to code more in JAVA than mixing up so many things and make it confusing and difficult to understand to others 😉
Please post Wicket to the top, because right here on my workstation, with wicket and jetty, i write web applications like swing projects. and even without a drag and drop palette feature in NB, i chunk out more projects than JSF visual in NB. Am on my 3 – 4 project already with wicket. it justs fits in like a glove and stays 100% out of your way in HTML designing
Hmm nice list but You realy think that Spring MVC is better then lets say Tapestry? Also have You try to use Wicked and then compare it to Tapestry ? Sorry but I just think You put on the list all known frameworks to You and add them some ratings thats all. I do not agree with the list. 😦
i agree with EG, people that think that JSF is the best have not use it much. I think Spring MVC is the best, because you can control everything and everything is very simple, that is very nice thing after using JSF.
@ NitinPai
You are right friend. Its all depending on the requirement. Being a Software Developer we know the final decision will be entirely depended on our requirement. Through this post I just want to give the SIX best used featured and used frameworks. If we compare deeply then MVC and Component separation will be good.
Thanks for your valuable comment frnd.