The architecture of JSF is based on the MVC2 model, which can be represented as Model, View, and Controller layers. This is shown in the following diagram:
Let's look at each of these blocks in detail:
- Controller: The controller layer is represented by the FacesServlet of the JSF framework. It is responsible for dispatching the request and the page navigation. It creates a FacesContext object that contains information required for request processing. FacesServlet also initiates the JSF Lifecycle object by invoking it and passing the FacesContext object to it. The JSF Lifecycle object handles the JSF request processing life cycle.
- View: The view layer renders the pages using JSF technology, typically Facelets XHTML. This layer defines the content that is to be presented to the end user and includes page layout and other navigational components.
- Model: The...