Mindmap
JSF(Java Server Faces)

Inhalt der Mindmap
JSF(Java Server Faces)
Uma especificação padronizada baseada no framework Struts ( Combina MVC com a utilização de Servlets e JSP ). É tanto uma especificação quanto um framework.
- OBS.: 1. As implementações da especificação mais famosas são Oracle Mojarra e o Apache MyFaces. 2. Cuidado também com aquelas que afirmam que só trata de interfaces gráficas. Ele trata de componentes de interface com usuário – as interfaces gráficas (GUI) são um tipo de interface com o usuário (UI).
Tecnologia que consiste em 2 aspectos:
- 1. Uma API para representar componentes e gerenciar seus estados; manipular eventos; realizar validação server-side; converter dados; definir navegação de páginas; suportar internacionalização e acessibilidade; e prover extensibilidade.
- Taglibs (bibliotecas de tags) para adicionar componentes a páginas web e conectar componentes a objetos server-side.
- O modelo de componentes JSF fornece 3 taglibs:
Uma de suas grandes vantagens é que ele oferece uma clara separação entre comportamento e apresentação. Ele mapeia solicitações HTTP para o tratamento de eventos específicos dos componentes e gerencia os componentes como objetos 'stateful' no servidor.
Não limita-se a uma tecnologia de script ou a uma linguagem de marcação específicas. Isso possibilita a utilização de diferentes tecnologias de apresentação, a criação de componentes próprios a partir das classes de componentes, e a geração de saídas para diversos dispositivos (Ex: Celular, Tablet).
O JSF fornece uma maneira fácil e amigável para criar Aplicações Web por meio de, basicamente, 3 atividades:
- 1. Criar uma Página Web (usando tags de componentes);
- 2. Desenvolver Managed Beans: objetos que intermediam a comunicação entre a visão e o modelo. Eles são registrados no descritor de implantação (ou por meio de annotations) e tem seu ciclo de vida controlado e gerenciado pelo próprio JSF!
- As principais tarefas de um Managed Bean (ou Backing Beans) é fornecer dados que serão exibidos nas telas; receber dados enviados nas requisições; executar tarefas de acordo com as ações dos usuários; validar dados.
- 3. Mapear a instância FacesServlet: uma servlet que gerencia o ciclo de vida do processamento de requisições de aplicações web que estão utilizando JSF para construir a interface com o usuário.Elas são responsáveis por receber as requisições da View, redirecioná-las para os Managed Beans do Model e respondê-las.
- Devemos configurá-la em 2 arquivos:
- 1. Descritor de implantação web.xml das aplicações web ( faz a conexão entre Web Container e Web Application)
- É mais genérico, tratando da especificação de detalhes de segurança; configuração de páginas de erro; mapeamento e declaração de servlets e filtros; configuração de parâmetros de inicialização; entre outros.
- 2. faces-config.xml (referente a uma aplicação específica que utiliza JSF).
- É mais específico, tratando de regras e mapeamento de navegação; definição de managed beans; configuração de detalhes de internacionalização; entre outros.
- faces-config.xml têm sido rapidamente substituído por annotations – novidade do JSF 2.0. Essa versão trouxe: suporte a facelets; utilização de templates para a aplicação; simplificação do desenvolvimento de componentes; suporte nativo a Ajax (f:ajax); navegação implícita e condicional; suporte ao Método GET; adição de novos escopos (Flash e View); composição de componentes customizados; etc
- 1. Descritor de implantação web.xml das aplicações web ( faz a conexão entre Web Container e Web Application)
- Devemos configurá-la em 2 arquivos:
O JSF1 tinha os escopos Request (Default), Session e Application. A partir do JSF2, ganhamos o View, Flash, None e Custom. O @RequestScoped vive o tempo do ciclo de uma Requisição/Resposta HTTP; o @ViewScoped vive enquanto houver interação com a mesma view, i.e., enquanto persistir a mesma página; o @ApplicationScoped persiste toda a duração da aplicação web. O @SessionScoped persiste o tempo que durar uma sessão, i.e., até invocar um método inválido ou o tempo acabar (lembrar de um carrinho de compras); o @FlashScoped dura um redirecionamento de página; o @NoneScoped indica que o escopo não está definido para a aplicação; por fim, o @CustomScoped é um escopo personalizado.
Funcionamento:
- FaceServlet
- O processamento de uma requisição enviada por um navegador começa na FacesServlet. Observem que ela controla a execução das seis etapas do ciclo de vida, interagindo com o Model (Entidades e repositórios) e com as Views (Telas, Templates, etc)
- Na etapa Invoke Application, a FacesServlet dispara um método em um Managed Bean responsável pelo processamento da regra de negócio correspondente à requisição atual. Todas as regras de negócio são implementadas no modelo, que também administra os dados da aplicação. Os Managed Beans acionam o modelo para executar regras de negócio, recuperar dados administrados pelo modelo, etc.
- As telas da aplicação são definidas na camada de visão. A FacesServlet acessa essa camada toda vez que necessita construir ou reconstruir a árvore de componentes de uma determinada tela. Isso ocorre nas etapas Restore View e Render Response.
- Cria o FaceContext: É o objeto utilizado para representar todas as informações de contexto associadas ao processamento da requisição de entrada e à criação da resposta correspondente. É executada antes do início do ciclo de vida de processamento de requisições e é responsável por gerenciar a execução das etapas do ciclo de vida.
- Managed Beans
- Os Managed Beans estão à disposição da FacesServlet durante todo o processamento da requisição. Nas etapas Render Response e Restore View, ela aciona os Managed Beans para recuperar os dados que devem ser usados na construção ou reconstrução da árvore de componentes. Na etapa Update Model, a FacesServlet armazena nos Managed Beans os dados já convertidos e validados
- FaceServlet
Utiliza o Faceletes: linguagem de declaração de página poderosa, apesar de leve. Considerada a tecnologia de apresentação preferida para construir aplicações JS – substituindo JSP.
Bilder und Dateien der Mindmap
Informationen
- Beschreibung
- Java Mindmap am JSF(Java Server Faces), erstellt von Manu Soares am 28/07/2017.
- Erstellt von
- Manu Soares
- Aufrufe
- 0
- Bewertung
