JSF
integrates the well established Model-View-Controller (MVC) design pattern into
its architecture. The purpose of MVC is to separate
data (Model) and presentation of data (View) in an application. User
requests are handled centrally by the controller that might result in
changes in the model and views. In JSF, UI components represent
View layer and managed beans represent Model. FacesServlet
is the Controller in the JSF framework. All the requests are handled
by this controller. Any request passes through and examined by FacesServlet
that calls various actions on the model (managed beans).