Arquitetura do JavaServer Faces
O JSF é um framework nativamente MVC. A sua arquitetura permite o desacoplamento entre os componentes e possibilita adicionar novos elementos, criar páginas com componentes, eventos e listeners.
Os componentes da interface com o utilizador (UI) são organizados numa estrutura de árvore. Estes componentes podem ser associados como métodos e atributos de um bean.
As Aplicações JSF utilizam como padrão a intercetação HTTP via FacesServlet registado no deployment descriptor (web.xml) e produzem HTML. As requisições são controladas pela referida classe javax.faces.webapp.FacesServlet (o controller do MVC), uma implementação de javax.servlet.Servlet, roteando o tráfego e administrando o ciclo de vida dos beans e componentes de interface do usuário (UI).