JSF stands for Java Server Faces. It is a UI component based and event driven MVC web application framework which simplifies the UI construction by reusable UI component. JSF specification provides a set of standard UI components which are reusable and extendable.
Note: JSF is built on top of the Servlet API.
1. JSF provides a set of standard UI components.
2. JSF provides an event driven programming model.
3. JSF provides the facility to use third party components.
4. JSF provides the facility to reuse and extend standard UI components.
JSF component model:
A UI component represents a stateful object on the server which provides specific functionality for interacting with an end user. Each JSF component has a tag handler class associated with it. When JSF implementation reads the JSF page, tag handlers corresponding to UI components execute and build a component tree. For example a JSF page contains h:form, h:inputText and h:commandButton tags then component tree will be like shown below: