b-
Java Server Faces (JSF) é o framework padrão Java para aplicações web com JEE. Ele define componentes visuais para WEB, com MVC (model-view-controller): divisão das responsabilidades de uma aplicação em três camadas distintas:
1. View: renderização
2. Controller: receber e tratar os eventos da View.
3. Model: lógica de negócios.
JSF - especificação pelo JCP através de JSRs. define API padrão e extensível por classes e interfaces.
As principais funcionalidades que o JSF:
1-Gerenciamento do ciclo de vida dos componentes visuais e geração do HTML a partir deles.
2- biblioteca de componentes visuais básicos análogos aos componentes HTML.
3- Suporte templates de tela para reuso de estruturas de interfaces Web;
4- componentes visuais personalizados;
5- Suporte nativo a ajax.
6- Validação, conversão e formatação de dados de formulários.
7- Tratamento de eventos entre telas Web.
8- Gerenciamento da navegabilidade
O JSF é baseado em objetos na memória no servidor e responsáveis pela geração do HTML, assim os valores nos componentes manten seu estado, permitindo sua recuperação após várias requisições.