Java Server Faces (JSF), is a web-based framework that makes the UI development in web-based applications easy. JSF provides various ways to connect UI components with data sources and server-side event handlers. It helps in making data transfer between UI components easy.
Architecture of JSF
A JSF application is similar to any Java-based web application. It runs in a Java Servlet container and follows the MVC (Model, View and Controller) architecture.
The diagram below shows the architecture of a JSF application:
How a JSF works
JSF applications run inside a servlet container. All of the processing related to JSF, is done inside the container. The procedure below, explains how a JSF application works, in a scenario where a user clicks button or performs any other event, to get the desired output.