JSF ( Java Server Faces ) is a new standard framework, which is developed through Java Community Process ( JCP ). JSF framework is like a toolbox which contains full of components that are ready to use. These components you can add very easily and quickly into your application and these components can also be reused many times. Each of these component’s actions generate events, and it is possible to capture this events and can call JSF applications as event driven applications . So we can embed components in jsp by using the custom tags and In JSF technology we can use JSF framework for navigating through different pages. In JSF technology nested components are also possible.

Java Server Faces technology is based on a design pattern which is called Model-View-Controller (MVC). The applications which we develop using Java Server Faces technology is a very well designed one. It’s maintainability compared to the applications developed in Servlets and JSP is far better. So the JSF makes the web development a more easy task.

Benefits of JSF:-

1. For creating user interfaces JSF provides components which are reusable .

2. For manipulating and accessing different components JSF provides many tag libraries.

3. JSF saves the form data automatically and it repopulates the form when it is displayed at client side.

4. One of the main benefits of JSF is that it encapsulates the event handling and component rendering logic from programmers, programmers just use the custom components.

5. JSF handles the complexities of UI (User Interface) management like page navigation, component-state management, input validation and event handling.

For the application based on Java Server Faces technology many kinds of GUI’s are available these days. JSF contains a set of Application programing interfaces to represent and handle the state of components, which also helps the page navigation, server side validation, data conversion, event handling etc. For creating user interfaces in JSF, it includes JSP custom tags.

In JSF technology the UI ( user interface ) created runs on server side and its out put will be shown to client. JSF is actually for making web development easier and faster one.Developers who are using JSF technology can focus on backing beans, event handling, UI components and their interactions .

Rather than markup, request and response developers can concentrate on other things. JSF actually hides complexities from developers which helps them to concentrate on their specific work