It is obvious that most of us question why we go for JavaServer Faces when a similar MVC framework, which is most popular, exists? The answer is simple. Try before commit. Use the framework, discover the benefits and then decide which is best suites your need.
JavaServer Faces is view-centric which is best suited in applications where rich GUI required. But that doesn't mean it is not suitable for the flow-based applications, where Struts is majorly being used. It can be ported on such applications as well without doing heavy work.
Below are some comparisions between both the MVC frameworks.


JavaServer Faces follows the JCP specification standard where as Struts is being developed under Apache Community.


JavaServer Faces specification provides the standards needs to be followed in implementing the specification. Any vendor can provide their own implementation which follows the JSR specification of JSF. Few vendors are actively involved in implementing the JSF framework. Oracle ADF Faces, ICEFaces, jBoss Rich Faces, Apache MyFaces are few implementations of the JSF specification. Since all vendors follow the same standard, any vendor can develop the components that can easily pluggable into the JSF applications.


The controller logic of JavaServer Faces is implemented in POJOs and hense no need to implement any specific implementations required. In struts the controller logic can be written in processAction and execute method. The controller logic is simplified by directly providing the method to be called from the JSF page. This can be achieved by using the Unified Expression Language (EL).

Rich UI Components for the View Tier

The JSF implementations provides easy to use and easily pluggable rich UI components. By using the rich UI component model the view tier of the web application will be enhanced. Also the component model can be easily extended from the standard set of components.

Event Driven

The JSF framework is event driven and the component framework is fully sensitive to the events generated from the client tier. Using this we can easily handle the events generated from the client side and can provide extended features to the web applications.

Like it on Facebook, Tweet it or share this article on other bookmarking websites.

Comments (0)

There are no comments posted here yet

What is the best way to spend time with your love

What is the best way to spend time with your love.. wht u think frnds...
No answer selected. Please try again.
Please select either existing option or enter your own, however not both.
Please select minimum 0 answer(s) and maximum 6 answer(s).
[{"id":"20665","title":"Movie","votes":"19","type":"x","order":"0","pct":19.19,"resources":[]},{"id":"20666","title":"party","votes":"7","type":"x","order":"0","pct":7.07,"resources":[]},{"id":"20667","title":"Shopping","votes":"7","type":"x","order":"0","pct":7.07,"resources":[]},{"id":"20668","title":"Dinner","votes":"20","type":"x","order":"0","pct":20.2,"resources":[]},{"id":"20669","title":"Long Drive","votes":"33","type":"x","order":"0","pct":33.33,"resources":[]},{"id":"20670","title":"Other","votes":"13","type":"x","order":"0","pct":13.13,"resources":[]}] ["#ff5b00","#4ac0f2","#b80028","#eef66c","#60bb22","#b96a9a","#62c2cc"] ["rgba(255,91,0,0.7)","rgba(74,192,242,0.7)","rgba(184,0,40,0.7)","rgba(238,246,108,0.7)","rgba(96,187,34,0.7)","rgba(185,106,154,0.7)","rgba(98,194,204,0.7)"] 350
bottom 200
No married couple wants to end up getting divorced. It is not like they have planned for it. They try to put up with their partners for as long as they
Due to our modern lifestyle, we feel that digestion related disorders are a common problem. Thus, we neither give importance to them nor seek any help
The bond of marriage brings the two people together. Initially, everything may seem okay and both of them slowly start discovering each other in the journey.
Why to choose Java? In the computer market, being able to use Java is a crucial knowledge. Java is a development terminology used to build compelling
DATABASE CONNECTIVITY This articles explains the need of database connectivity, the way it is achieved through Java using the JDBC(java database connectivity)
  Write your first simple java program.   First of all we need is a placewhere we can write your Java code. All Java programs are written using
Array of objects in Java Arrays are defined as block of continous memory locations which are arranged in one after another. Elements of the Array can
Synchronized block is alternative mechanism for "synchronized" methods.If we inherihate the non synchronized blocks either from base class or interface