It is a server side component based user interface framework. It is used to develop web applications. It provides a well-defined programming model and consists of rich API and tag libraries. The latest version JSF 2 uses Facelets as its default templating system. It is written in Java.
The JSF API provides components (inputText, commandButton etc) and helps to manage their states. It also provides server-side validation, data conversion, defining page navigation, provides extensibility, supports for internationalization, accessibility etc.
The JSF Tag libraries are used to add components on the web pages and connect components with objects on the server. It also contains tag handlers that implements the component tag.
With the help of these features and tools, you can easily and effortlessly create server-side user interface.
Java Server Faces Versions History
Benefits of JavaServer Faces
1) It provides clean and clear separation between behavior and presentation of web application. You can write business logic and user interface separately.
2) JavaServer Faces API?s are layered directly on top of the Servlet API. Which enables several various application use cases, such as using different presentation technologies, creating your own custom components directly from the component classes.
3) Including of Facelets technology in JavaServer Faces 2.0, provides massive advantages to it. Facelets is now the preferred presentation technology for building JavaServer Faces based web applications.
Java: You must have Java 7 or higher version.
Java IDE: In this tutorial, we have used NetBean IDE 8.2. Although you can also use other Java IDEs.
Server: We did not install server seperatly. All the examples are executed on the default server installed along with NetBeans IDE 8.2.
JSF 2.2 Library: Latest JavaServer Faces libraries are automatically installed with the IDE. So, you don't need to install it manually.