0% acharam este documento útil (0 voto)
11 visualizações30 páginas

Java EE - JSF

Java

Enviado por

vinirgd2001
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações30 páginas

Java EE - JSF

Java

Enviado por

vinirgd2001
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

9.

Java EE - JSF

Desenvolvimento de Software para Banco


do Brasil (Escriturário - Agente de
Tecnologia)
Prof. Paolla Ramos E Silva

9 Java EE - JSF
Documento última vez atualizado em 25/08/2025 às 21:09.

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 1/30


9. Java EE - JSF

Índice
9.1) Java Server Faces (JSF) - Teoria

9.1.1) Questões Comentadas - JSF

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 2/30


9. Java EE - JSF

|key-item-0| Java Server Faces (JSF) - Teoria

JAVA SERVER FACES (JSF)

Galera, vou contar uma historinha para vocês! Durante muito tempo, usuários se acostumaram
com Aplicações Desktop. O que é isso, professor? É aquele programinha que você baixa e
instala em seu computador local, acessando diretamente bancos de dados ou gerenciadores de
arquivos. Para criar essas aplicações eram utilizadas as tecnologias Visual Basic, Delphi, Swing
(Java), etc.

Pois é, esses programas em geral não necessitam de um navegador para rodar! Eles são
construídos como um conjunto de componentes oferecidos pela plataforma de
desenvolvimento para cada sistema operacional e estão associados a eventos, ações ou
procedimentos que executam lógicas de negócio. Muitas das vezes, são componentes muito
ricos.

No entanto, sabe se que Aplicações Desktop sofrem com problemas de manutenção e


gerenciabilidade. Vejam que as regras de negócio rodam no cliente aliás, uma cópia integral da
aplicação está no cliente! Logo, se deu pau em alguma funcionalidade, eu tenho que propagar
as alterações para todas as máquinas que têm o programa, visto que as regras de negócio
estão no cliente!

Para resolver esse tipo de problema, surgiram as Aplicações Web. Elas rodam em um servidor
central onde os usuários podem acessá las por meio de um navegador (Chrome, Firefox, etc) e
um protocolo HTTP. Nesse caso, todas as regras de negócio da aplicação se encontram no
Servidor, sendo muito mais fácil gerenciá las e, eventualmente, dep

Ora, deu pau em alguma funcionalidade, eu vou lá no servidor central e conserto não preciso ir
em todas as máquinas que têm a aplicação! Claro, nem tudo são flores, é necessário conhecer
diversas tecnologias, linguagens, scripts, entre outros além de seguir um modelo de
requisição/resposta. Agora vejam que interessante, eu posso combinar esses dois universos.

É possível unir as melhores características desses dois mundos, com componentes ricos,
abstraindo protocolos, etc. Vocês já ouviram falar da Arquitetura Model View Controller
(MVC)? Pois é, se de uma arquitetura que divide os componentes de uma aplicação em
camadas independentes (Modelo, Visão e Controle) O Controle faz o meio campo entre a
Visão e o Modelo.

la foi amplamente utilizada plicações esktop até que um dia alguém pensou: Poxa, por que não
utilizá la na web? E resolveu assim fazê ! Como assim? lguém decidiu então combinar rquitetura
MVC com o modelo tradicional de desenvolvimento de páginas web dinâmicas Oual seria esse
modelo, professor? Trata se da utilização de Servlets e JSP

O resultado foi a criação do framework Struts Ele era uma implementação da rquitetura MVC
para desenvolvimento de páginas web dinâmicas! Bacana? Esse framework fez tanto sucesso
Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 3/30
9. Java EE - JSF

que a Sun Microsystems junto com uma comunidade de desenvolvedores resolveu criar uma
especificação padronizada baseada nesse framework, denominado Java Server Faces (JSF)

Cuidado com as questões de prova que afirmam que se trata apenas de uma
especificação - ele é tanto uma especificação quanto um framework1. 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). Essa tecnologia consiste em dois aspectos:

Primeiro, 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. Segundo, taglibs
(bibliotecas de tags) para adicionar componentes a páginas web e conectar
componentes a objetos server-side.

Galera, ele provê um modelo de programação bem definido e robusto, além de fornecer
diversas taglibs-inclusive o desenvolver pode criar sua própria taglib. Essas taglibs
contêm manipuladores de tags que implementam os componentes de tags. Essas
características facilitam significativamente o peso da construção e manutenção de
Aplicações Web com interfaces de usuário server-side.

O Modelo de Componentes JSF define três taglibs:

• HTML: possui componentes que representam diversos elementos HTML.

Namespace: xmlns:h="[Link] [1]"

• CORE: responsável por internacionalização, validação, conversão e outros.


Namespace: xmlns:f="[Link] [2]"

FACELETS: fornece tags para criar templates para aplicações web.

• Namespace: xmlns:ui="[Link] [3]"

Com o mínimo de esforço é possível criar uma página web; adicionar componentes em
uma página ao adicionar tags de componentes; vincular componentes de uma página a
dados server-side; conectar eventos gerados por componentes ao código da aplicação;
salvar e restaurar o estado da aplicação além da vida da requisição do servidor; e
reutilizar e estender componentes por meio de customização.

Podemos definir a Tecnologia JSF como uma tecnologia que nos permite criar
Aplicações Web utilizando componentes visuais pré-prontos, de forma que o

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 4/30


9. Java EE - JSF

desenvolvedor não se procupe com Javascript ou HTML. A funcionalidade fornecida por


uma Aplicação JSF é similar a qualquer outra Aplicação Web. Ela possui as seguintes
partes:

Um conjunto de Páginas Web em que são colocados os componentes;

Um conjunto de tags para adicionar componentes à página web;

Um conjunto de Managed Beans (ou Beans Gerenciados);

Um Descritor de Implantação Web ([Link]);

m ou mais arquivos de configuração (Ex: faces [Link]);

m conjunto de objetos customizados (Ex: validadores, conversores,

m conjunto de tags customizadas para representar objetos customizados;

Pessoal, o JSF oferece diversos validadores embutidos para validar seus Componentes
UI validação ocorre no lado do servidor. Eles podem ser invocados a partir de sua tag
específica e podem validar o tamanho de um campo, tipo de entrada, range de um valor
numérico, expressão regular, entre outros. É possível, inclusive criar o seu próprio
validador customizado.

Observem a imagem acima! Uma Página Web [Link] é construída utilizando


tags de Componentes JSF. Essas tags são usadas para adicionar componentes à visão

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 5/30


9. Java EE - JSF

(myView), que é uma representação server side da página. Além dos componentes, uma
página web pode referenciar objetos como listeners, validadores, conversores, entre
outros.

Em resposta a uma requisição do cliente, uma página web é renderizada por um


contêiner web que implementa a ecnologia JSF! 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.

Outro importante objetivo é aproveitar componentes e conceitos já familiares aos


programadores, sem limitá a uma tecnologia de script ou a uma linguagem de
marcação específica 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).

Criar uma Página Web (usando tags de componentes);

Desenvolver Managed Beans;

mapear a instância FacesServlet.

Aqui vamos fazer uma pequena pausa! Professor, o que é Managed Bean São apenas
POJOs com a annotation @ManagedBeans. Pensem no seguinte: meu sistema precisa
escrever "Olá, pessoal" no navegador. Bem, esse texto não precisa de nenhuma
informação, não acessa nada, é muito simples basta colocá diretamente na camada de
visão e mostrá

E se eu tenho que dar um "Olá, em que X é o nome da pessoa que acessou o sistema?
Em outras palavras, se eu acessei, deve mostrar "Olá, Diego"; se o Messi acessou, deve
mostrar "Olá, Messi"! Para tal, eu vou precisar acessar o banco de dados, buscar
informações do sistema, talvez saber o horário de acesso, i.e., vou precisar interagir com
o modelo, lógica de negócio ou componentes visuais.

Ora, nós prezamos pela separação de responsabilidades! Logo, esse código ficará em
uma classe de modelo e, jamais, na visão Os Managed Beans são os objetos que
intermediam 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 E o que seria a 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.

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 6/30


9. Java EE - JSF

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 no descritor de
implantação [Link] da aplicações web ele faz a conexão entre Web Container e Web
Application. Após isso, devemos configurar também o arquivo de configuração faces
[Link], referente a uma aplicação

specífica que utiliza JSF.

Ele é responsável por descrever e configurar elementos e subelementos que compõem o


projeto, tais como conversores, managed beans, validadores, fluxo da comunicação,
configurações de localização e o mapeamento da navegação ademais, ele faz a conexão
entre View e Controller. Vamos resumir essa diferença entre esses dois arquivos?

O faces [Link] é 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. Já o [Link] é 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.

O faces [Link] 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.

O JSF1 tinha os escopos Request (Default), Session e Application. A partir do JSF2,


ganhamos o View, Flash, None e Custem. 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.

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 7/30


9. Java EE - JSF

Agora eu
queria
falar uma
curiosidade

interessant
e! Existe
um Padrão
de Projeto Java EE chamado Front Controller. Nesse padrão, todas as requisições do
usuário são recebidas pelo mesmo componente. Dessa forma, tarefas que devem ser
realizadas em todas as requisições podem ser implementadas por esse componente -
evitando repetição de código e facilitando a manutenção do sistema.

No JSF, esse componente é o FacesServlet! Como mostra a imagem da estrutura geral


de uma Aplicação JSF, 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, Tem
piates, etc).

Os Managed Beans estão à disposição da FacesServlet durante todo o processamento


da requ1s1çao. as etapas Render Response e Restore View 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 anaged
eans os dados já convertidos e validados

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 8/30


9. Java EE - JSF

Na etapa lnvoke Application, a FacesServlet dispara um método em um anaged


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 regra de
negócio, recuperar dados administrados pelo modelo

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. Aliás,
vamos ver agora rapidamente porque não cai muuuuito em provas o ciclo de vida do !
Ele é apresentado na imagem abaixo:

Pelo fato do framework JSF ser talvez uma evolução da linguagem JSP, o ciclo de vida
do JSF é parecido com o JSP. Por exemplo, quando o cliente faz uma equisição
HTTP para a página, o servidor responde com a página traduzida para HTML. Porém, ele
é em múltiplas fases, apresentando modelo de componente de interface com usuário
mais sofisticado.

Restore View restauram se os objetos e estruturas de dados que representam a


visão. Claro, se essa for a primeira visita à página, deve se criar a visão. Quando o
JSF cria e renderiza uma página JSF, ele cria objetos de interface com o usuário
para cada componente da visão. Os componentes são armazenados em uma
árvore de componentes e o estado da visão é salvo para requisições futuras.

Apply Request Values qualquer dado que for enviado como parte da requisição é
passado para os componentes apropriados. Essas visões atualizam seus estados
com os valores dos dados. Dados podem vir de formulários, cookies enviados com a
requisição ou por meio de cabeçalhos da requisição. Alguns dados são validados e,
se houver erro, são adicionados à FacesServlet

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 9/30


9. Java EE - JSF

Process Validation s dados que foram submetidos com o formulário são


validados (se já não o foram anteriormente Assim como na fase anterior, isso ainda
não atualiza os objetos de negócio na aplicação. Isso ocorre porque, se a Aplicação
atualizar os objetos de negócio junto com a validação dos dados e uma parte da
validação falhar, o modelo atualizado com

ado inválido.

Update Model Values após todas essas validações terminarem, os objetos de


negócio que criam a aplicação são atualizados com os dados validados da
requisição. Ademais, se qualquer um dos dados precisar ser convertido em um
formato diferente para atualizar o modelo (Ex: String para Data), a conversão
ocorrerá nessa fase.

lnvoke Application durante essa fase, os métodos de ação de qualquer botão ou


link que foi ativado serão chamados. Além disso, todos os eventos que foram
gerados durante as fases anteriores e que ainda não tenham sido manipulados são
passados para a Aplicação Web para que ela possa concluir qualquer outro
processamento da requisição que seja necessário.

Render Response os Componentes UI de resposta são renderizados e a resposta


é enviada para o cliente. O estado dos componentes é salvo de modo que a árvore
de componente possa ser restaurada quando o cliente enviar outra requisição. Em
suma, essa fase renderizará a página de resposta requisitada pelo usuário.

Lembrando que FacesContext ([Link]) é 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. Ela é criada pela FacesServlet, que é
executada antes do início do ciclo de vida de processamento de requisições e é
responsável por gerenciar a execução as etapas do ciclo de vida.

Vamos falar um pouquinho sobre Component Binding! O que é isso, professor? Cara,
essa é uma nova característica da tecnologia JSF que permite associar componentes de
uma view e controlar todos os aspectos desse componente. Como assim? Algumas
vezes, nós temos um componente visual que nos oferece alguma informação (Ex: m
mapa em que o usuário escolhe estado).

Bem em geral, nós necessitamos apenas do valor, i.e., o usuário escolheu 'DF'. O
Component Binding permite que nós tenhamos acesso ao componente como um todo.
Para que? Nós, eventualmente, podemos querer manipular o componente

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 10/30


9. Java EE - JSF

dinamicamente, por exemplo. Assim, é possível acessar métodos do componente se


você quiser, pode até mudar seu comportamento.

JSF : Faceletes

Pessoal, tem uma característica do JSF que é extremamente importante: Facelets! Trata
uma linguagem de declaração de página poderosa, apesar de leve. Antigamente, utiliza-se a
tecnologia JSP como camada de visão do JSF, porém ele não suporta todas as características
disponíveis na Plataforma Java EE - sendo considerada obsoleta para JSF!

Facelets é uma parte da specificação JSF e também a tecnologia de apresentação preferida


para construir aplicações JSF substituindo JSP uporta todos os componentes de UI do JSF
constrói Árvores de Componentes; e Views (utilizando Templates HTML). Um tipo especial de
template são os Componentes Compostos, que agem como um componente. Ademais, é
bom destacar algumas características

zação de XHTML para criação de Páginas Web;

Suporte a Facelets Tag Libraries (além do JSFTL e JSTL);

Suporte a Linguagens de Expressão (Expression Languages);

Suporte a templates para componentes e páginas.

Em suma, a utilização de Facelets reduz o tempo esforço gastos no desenvolvimento e


implantação. Em geral, Facelets Views são criadas com Páginas HTML e XHTML (criadas
conformidade com Transation DTD). Além disso, elas utilizam linguagens de expressão para
referenciar propriedades e Managed Beans. Para desenvolver uma Aplicação Facelets simples, é
necessano:

Desenvolver um Managed Bean;

Criar páginas usando tags de componentes;

Definir a navegação das páginas;

Mapear a instância [Link];

Adicionar declarações de Managed Be

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 11/30


9. Java EE - JSF

JSF : Filtros

Em JSF, um Filtro (do inglês, Filter) é um objeto capaz de realizar tarefas de filtragem tanto na
requisição de um recurso (Servlet ou conteúdo estático), ou na resposta desse recurso, ou
ambos para tal, eles utilizam o método doFilter. Todo Filtro possui acesso a um objeto
FilterConfig, do qual ele pode obter seus parâmetros de inicialização; e a uma ServletContext,
do qual ele pode carregar recursos.

Os Filtros são configurados nos descritores de implantação de uma Aplicação Web. Ele
possibilita o gerenciamento de todas as Requisições HTTP ervidor, capaz de filtrar o endereço
que está sendo acessado. Dessa forma, quando um usuário acessar uma determinada URL
proibida, pode se imediatamente redirecioná lo para outro endereço, antes que a resposta seja
dada ao cliente.

Para tal, deve se implementar a interface [Link] Existem dezenas de aplicações para
filtros, além da mostrada acima. Podemos ter filtros de autenticação; filtros de log e auditoria;
os de conversão de imagens; filtros de compressão de dados; filtros de criptografia; filtros de
tokenização; filtros XSLT; filtros que acionam eventos de acesso a recursos, entre outros.

|key-item-1| Questões Comentadas - JSF

Questão 2013 | 51216022

Considere as instruções abaixo encontradas em um arquivo de uma aplicação que utiliza JSF.

<managed-bean>
<managed-bean-name>func</managed-bean-name>
<managed-bean-class>[Link]</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

Essas instruções indicam a existência de um bean gerenciado (classe [Link]) no


pacote bean que poderá ser referenciado nas páginas JSP por meio da palavra func. O
arquivo correto no qual essas instruções são colocadas é o

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 12/30


9. Java EE - JSF

A) [Link].

B) [Link].

C) [Link].

D) [Link].

E) [Link].

Solução

Gabarito: D) [Link].

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 no descritor de implantação [Link]
das aplicações web ele faz a conexão entre Web Container e Web Application. Após isso,
devemos configurar também o arquivo de configuração faces [Link], referente a uma
aplicação específica que utiliza JSF.

Conforme vimos em aula, o responsável é faces [Link].

Gabarito:

Questão 2023 | 4001398312

(CESPE - 2012 - TJ/AL-Analista de Sistemas - B)

Em um aplicativo Facelets, a tag f:ajax adiciona funcionalidades Ajax que necessitam de


adicionais de codificação e configuração para as componentes de interface do usuário.

Solução

Gabarito:

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 13/30


9. Java EE - JSF

Questão 2023 | 4001398316

(CESPE - 2012 - TJ/RO - Analista de Sistemas - E)

JNDI, parte do projeto de JSF, utiliza XHTML como tecnologia de apresentação dos dados,
possibilitando a separação entre as camadas de negócio e de controle.

Solução

Gabarito:

Questão 2009 | 48310818

Julgue o próximo item, que se referem a frameworks Java Server Faces (JSF) e Hibernate.

O JSF é um framework web embasado em interface gráfica, capaz de renderizar


componentes e manipular eventos em aplicações web no padrão Java EE, no qual os
componentes JSF são orientados a eventos. O JSF fornece, ainda, mecanismos para
conversão, validação, execução de lógica de negócios e controle de navegação.

Solução

Gabarito:

Primeiro, 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. Segundo, taglibs (bibliotecas de
tags) para adicionar componentes a páginas web e conectar componentes a objetos server

Conforme vimos em aula, a questão está perfeita! Gabarito: C

Questão 2011 | 1852969449

Em uma aplicação que utiliza JSF, para configurar o fluxo de comunicação presente na servlet
de controle, é utilizado um arquivo de configuração

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 14/30


9. Java EE - JSF

A) [Link].

B) [Link].

C) [Link].

D) [Link].

E) [Link].

Solução

Gabarito: C) [Link].

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 no descritor de implantação [Link]
das aplicações web - ele faz a conexão entre Web Container e Web Application. Após isso,
devemos configurar também o arquivo de configuração [Link], referente a uma
aplicação específica que utiliza JSF.

Ele é responsável por descrever e configurar elementos e subelementos que compõem o


projeto, tais como conversores, managed beans, validadores, fluxo da comunicação,
configurações de localização e o mapeamento da navegação- ademais, ele faz a conexão
entre View e Controller. Vamos resumir essa diferença entre esses dois arquivos?

Conforme vimos em aula, trata-se do [Link]. Gabarito: C

Questão 2010 | 4001421612

Entre os itens que o padrão Java Server Faces (JSF) utiliza, estão os componentes, os eventos
e a navegabilidade.

Solução

Gabarito:

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 15/30


9. Java EE - JSF

Questão 2013 | 4001421614

Uma aplicação utilizando o framework JSF e a IDE NetBeans gera automaticamente dois
componentes essenciais assim descritos:

I. É responsável por receber requisições dos componentes View do MVC, redirecioná-las para
os beans gerenciados (managed beans) do componente Model do MVC e responder a
essas requisições.

lI. É o arquivo principal de configuração de uma aplicação web que utiliza o framework JSF.
É responsável por descrever os elementos e sub-elementos que compõem o projeto, tais
como as regras de navegação, beans gerenciados, configurações de localização etc.

As descrições I e lI referem-se, respectivamente, aos componentes:

A) servlet [Link] e ao arquivo faces_config.xml

B) FaceletServlet e ao arquivo web_config.xml.

C) FacesServlet e ao arquivo [Link].

D) servlet Controller e ao arquivo [Link].

E) servlet Facelet e ao arquivo [Link].

Solução

Gabarito: C) FacesServlet e ao arquivo [Link].

Questão 2012 | 61944407

Com relação ao desenvolvimento Java, julgue o item a seguir.

A validação de dados de um componente pode ser uma das funções de um backing bean, em
uma aplicação JSF

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 16/30


9. Java EE - JSF

Solução

Gabarito:

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. E o que seria a 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.

Conforme vimos em aula, Backing Beans são Managed Beans, e essa pode ser uma de suas
funções. Gabarito: C

Questão 2012 | 56309834

O framework JavaServer Faces (JSF) é utilizado no desenvolvimento de aplicações web que


utiliza o design pattern MVC. O JSF

disponibiliza controles pré-construídos e código para manipular eventos, estimulando o


A)
uso de código Java convencional no componente View do MVC.

recebe requisições dos componentes da View do MVC, através do servlet


B)
FaveServerServlet.

armazena os mapeamentos das ações e regras de navegação em projetos JSF nos


C)
arquivos [Link] e [Link].

D) possui bibliotecas que suportam Ajax (Asynchronous JavaScript And XML).

E) provê um conjunto de tags limitado para criar somente páginas HTML/XHTML.

Solução

Gabarito: D) possui bibliotecas que suportam Ajax (Asynchronous JavaScript And XML).

Ora, nós prezamos pela separação de responsabilidades! Logo, esse código ficará em uma
classe de modelo e, jamais, na visão. Os Managed Beans são os objetos que intermediam a

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 17/30


9. Java EE - JSF

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!

A letra A está incorreta.


Conforme vimos em aula, está incorreto, i.e., é desestimulado colocar código convencional
(regras de negócio) na View, mas - sim - no Model.

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 no descritor de implantação [Link]
das aplicações web - ele faz a conexão entre Web Container e Web Application. Após isso,
devemos configurar também o arquivo de configuração [Link], referente a uma
aplicação específica que utiliza JSF.

A letra B está incorreta.


Conforme vimos em aula, de fato recebe requisições dos componentes da View, no entanto o
nome da servlet é FacesServlet.

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 no descritor de implantação [Link]
das aplicações web - ele faz a conexão entre Web Container e Web Application. Após isso,
devemos configurar também o arquivo de configuração [Link], referente a uma
aplicação específica que utiliza JSF.

Ele é responsável por descrever e configurar elementos e subelementos que compõem o


projeto, tais como conversores, managed beans, validadores, fluxo da comunicação,
configurações de localização e o mapeamento da navegação - ademais, ele faz a conexão
entre View e Controller. Vamos resumir essa diferença entre esses dois arquivos?

A letra C está incorreta.


Conforme vimos em aula, o mapeamento de ações e regras de navegação e
responsabilidade somente do [Link].

O [Link] 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
Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 18/30
9. Java EE - JSF

condicional; suporte ao Método GET; adição de novos escopos (Flash e View); composição de
componentes customizados; etc.

A letra D está correta.


Conforme vimos em aula, a questão está perfeita! O Ajax não só é suportado, esse suporte é
nativo.

Galera, ele provê um modelo de programação bem definido e robusto, além de fornecer
diversas taglibs - inclusive o desenvolver pode criar sua própria taglib. Essas taglibs contêm
manipuladores de tags que implementam os componentes de tags. Essas características
facilitam significativamente o peso da construção e manutenção de Aplicações Web com
interfaces de usuário server-side.

Gabarito: D

A letra E está incorreta.


Conforme vimos em aula, não se trata de um conjunto limitado de tags. É possível criar suas
próprias tags!

Questão 2013 | 62071717

Julgue os itens seguintes, acerca dos frameworks Hibernate, JSF e Struts.

O JSF provê uma linguagem de expressão exclusiva para acesso a objetos armazenados em
bancos de dados.

Solução

Gabarito:

Em suma, a utilização de Facelets reduz o tempo e esforço gastos no desenvolvimento e


implantação. Em geral, Facelets Views são criadas com Páginas HTML e XHTML (criadas em
conformidade com Transationl DTD). Além disso, elas utilizam linguagens de expressão para
referenciar propriedades e Managed Beans. Para desenvolver uma Aplicação Facelets simples,
é necessano:

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 19/30


9. Java EE - JSF

Conforme vimos em aula, ela serve para referenciar propriedades e Managed Beans.
Gabarito: E

Questão 2012 | 4001421616

Para criar as paginas XHTML de uma aplicação JSF é possível utilizar um conjunto de
bibliotecas de tags JSF. Algumas dessas bibliotecas são HTML, Core e Facelets. Considere os
fragmentos de códigos abaixo, que utilizam tags dessas bibliotecas:

A correlação correta entre o fragmento de código e a biblioteca de tags utilizada é:

A) 1-Facelets, li-HTML e Ili-Core.

B) 1-Core, 11-Facelets, e Ili-HTML.

C) 1-HTML, li-Core, e 111-Facelets.

D) 1-HTML, 11-Facelets, e Ili-HTML.

E) 1-HTML, li-HTML, e Ili-Core.

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 20/30


9. Java EE - JSF

Solução

Gabarito: A) 1-Facelets, li-HTML e Ili-Core.

Questão 2010 | 24214861

Uma equipe de desenvolvimento de software recebeu a incumbência de desenvolver um


sistema com as características apresentadas a seguir.

- O sistema deverá ser integrado, interoperável, portável e seguro.

- O sistema deverá apoiar tanto o processamento online, quanto o suporte a decisão e gestão
de conteúdos.

- O sistema deverá ser embasado na plataforma JEE (Java enterprise edition) v.6, envolvendo
servlets, JSP (Java server pages), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA e web
services.

O líder da equipe iniciou, então, um extenso processo de coleta de dados com o objetivo de
identificar as condições limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características funcionais e não funcionais
do sistema, ao longo de seu ciclo de vida. A partir dessa coleta, o líder deverá apresentar à
equipe um conjunto de informações e de decisões.

Com relação às tecnologias para desenvolvimento web em Java que podem ser empregadas
no sistema descrito no texto, julgue o item a seguir.

No desenvolvimento de conteúdos para apresentação, o uso de facelets traz vantagens em


relação ao uso de JSP. Uma delas é a maior modularidade, com o uso de templates e
componentes compostos (composite).

Solução

Gabarito:

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 21/30


9. Java EE - JSF

Facelets é uma parte da especificação JSF e também a tecnologia de apresentação preferida


para construir aplicações JSF - substituindo JSP. Ela suporta todos os componentes de UI
do JSF e constrói Árvores de Componentes; e Views (utilizando Templates HTML). Um tipo
especial de template são os Componentes Compostos, que agem como um componente.
Ademais, é bom destacar algumas características:

Conforme vimos em aula, ela faz uso de Templates e Componentes Compostos, que
aumentam a modularidade e a reusabilidade Gabarito: C

Questão 2011 | 1938061746

No JSF, o componente Controller do MVC é composto por uma classe servlet, por arquivos
de configuração e por um conjunto de manipuladores de ações e observadores de eventos.
Essa servlet é chamada de

A) ControllerServlet.

B) Facelet.

C) HttpServlet.

D) FacesConfig.

E) FacesServlet.

Solução

Gabarito: E) FacesServlet.

Questão 2011 | 4000150282

No ciclo de vida do Java Server Faces trata-se da fase na qual o componente deve primeiro
ser criado ou recuperado a partir do FacesContext, seguido por seus valores, que são
geralmente recuperados dos parâmetros de request e, eventualmente, dos cabeçalhos ou
cookies gerados. Trata-se da fase

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 22/30


9. Java EE - JSF

A) Restore View.

B) Apply Request Values.

C) Process Validation.

D) Update Model Values.

E) Invoke Application.

Solução

Gabarito: B) Apply Request Values.

Questão 2011 | 4000274651

Sobre o framework JavaServer Faces é correto afirmar:

A grande limitação do JSF é a dificuldade de integração com outros frameworks como


A)
Spring, JPA e EJB.

Expression Language (EL) é a linguagem utilizada para apresentação de conteúdo em


B) aplicações que utilizam JSF. Sua principal limitação é a impossibilidade de acessar valores
e métodos em beans gerenciados.

Facelets é uma parte da especificação JSF e também a tecnologia para implementar as


C)
regras de negócio em aplicações que utilizam JSF.

Disponibiliza as bibliotecas de tags core e html para criar as páginas que compõem a
D)
interface do usuário.

Define uma única forma para realizar a validação de dados em formulários JSP, por meio
E)
da implementação de uma classe de validação que estende a interface Validator.

Solução

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 23/30


9. Java EE - JSF

Disponibiliza as bibliotecas de tags core e html para criar as páginas que


Gabarito: D)
compõem a interface do usuário.

Questão 2013 | 4001421617

Facelets são utilizadas para desenvolver visões (views) JavaServer Faces (JSF) com
linguagem HTML e XHTML, em conformidade com a transitional document type
definition, sendo, ainda, compatível com a biblioteca de tag JSF.

Solução

Gabarito:

Questão 2011 | 4000213904

Considere:

O JSF extrai todos os valores digitados pelo usuário e guarda esse valor nos seus respectivos
componentes. Se o valor digitado não coincidir com o componente, um erro vai ser
adicionado na classe FacesContext e será mostrado na fase Render Response Phase.

No ciclo de vida do JSF trata-se de um evento típico da fase

A) Process Validations Phase.

B) Restore View Phase.

C) Apply Request Values Phase.

D) Update Model Values Phase.

E) Invoke Application Phase.

Solução

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 24/30


9. Java EE - JSF

Gabarito: C) Apply Request Values Phase.

Questão 2013 | 4001421620

Quando registrado em JSF 2 (Java Server Faces), um managed bean permanece no escopo
de session.

Solução

Gabarito:

Questão 2010 | 4001421621

Para suportar a construção de aplicações com Ajax e JSF, recomenda-se aos


desenvolvedores de páginas que usem a tag < f:ajax >, relacionada ao processamento de
pedidos http assíncronos.

Solução

Gabarito:

Questão 2010 | 882962040

No cilco de vida do JSF copiar os parâmetros de requisição para valores submetidos pelos
componentes, é a tarefa típica da fase

A) Restaurar Visão (Restore view).

B) Invocar aplicação (Invoke application).

C) Aplicar valores de requisição (Apply request values).

D) Processar validações (Process validation).

E) Atualizar valores do modelo (Update model values).

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 25/30


9. Java EE - JSF

Solução

Gabarito: A) Restaurar Visão (Restore view).

Apply Request Values: qualquer dado que for enviado como parte da requisição é passado
para os componentes apropriados. Essas visões atualizam seus estados com os valores dos
dados.

Dados podem vir de formulários, cookies enviados com a requisição ou por meio de
cabeçalhos da requisição. Alguns dados são validados e, se houver erro, são adicionados à
FacesServlet.

Conforme vimos em aula, trata-se da fase Apply Request Values. Gabarito: C

Questão 2010 | 62091164

A respeito da tecnologia JSF (JavaServer Faces), julgue o próximo item.

Uma aplicação web deve prover mecanismos de validação de dados. O JSF fornece vários
validadores de dados padrões que podem ser utilizados no lado do cliente (client-side).

Solução

Gabarito:

Pessoal, o JSF oferece diversos validadores embutidos para validar seus Componentes UI -
essa validação ocorre no lado do servidor. Eles podem ser invocados a partir de sua tag
específica e podem validar o tamanho de um campo, tipo de entrada, range de um valor
numérico, expressão regular, entre outros. É possível, inclusive, criar o seu próprio validador
customizado.

Conforme vimos em aula, ocorre do lado servidor! Gabarito: E

Questão 2010 | 4001421624

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 26/30


9. Java EE - JSF

É um framework MVC utilizado no desenvolvimento de aplicações para a internet de forma


visual, que utiliza o recurso de arrastar e soltar os componentes na tela para definir suas
propriedades:

A) Enterprise JavaBeans.

B) JavaServer Faces.

C) Java 2 Enterprise Edition.

D) Servlets.

E) Java Server Pages.

Solução

Gabarito: B) JavaServer Faces.

Questão 2015 | 62134781

Acerca da linguagem de programação Java, bem como de ferramentas de desenvolvimento e


frameworks, julgue o item subsequente.

A partir da interpretação do trecho JSF (JavaServer Faces), versão 2, no código a seguir,


verifica-se que uma providência válida é configurar o managed-bean clientePage no arquivo
[Link].

Solução

Gabarito:

O [Link] é mais específico, tratando de regras e mapeamento de navegação;


definição de managed beans; configuração de detalhes de internacionalização; entre

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 27/30


9. Java EE - JSF

outros. Já o [Link] é 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.

Conforme vimos em aula, a questão está perfeita! É possível declarar managed beans por
meio de anotações ou por meio do arquivo de configuração [Link]. Gabarito: C

Questão 2014 | 4000516803

A respeito de programação e tecnologias Java, julgue o item a seguir.

Antes de uma aplicação web desenvolvida nos moldes da JSF executar sua primeira página
web, uma instância FacesServlet é executada, a fim de gerenciar as requisições dessa
aplicação.

Solução

Gabarito:

Questão 2013 | 4001421626

Com relação à especificação Java Server Faces (JSF), assinale V para a afirmativa verdadeira
e F para a falsa.

( ) Visa substituir a especificação Java Server Pages.

( ) Java Server Faces são usadas como uma fachada para Servlets e Java Server Pages.

( ) Define um framework MVC (Model View Controler) para aplicações Web.

As afirmativas são, respectivamente,

A) F, F e V.

B) F, V e V.

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 28/30


9. Java EE - JSF

C) V, F e F.

D) V, V e F.

E) F, V e F.

Solução

Gabarito: A) F, F e V.

Questão 2014 | 4000516840

A respeito de programação e tecnologias Java, julgue o item a seguir.

Em aplicações web nos padrões da JSF, é possível utilizar recursos Ajax para criar páginas
dinâmicas, como, por exemplo, por meio da tag f:ajax, conforme apresentado na sintaxe
abaixo.

Solução

Gabarito:

Questão 2014 | 4000516882

A respeito de programação e tecnologias Java, julgue o item a seguir.

É possível utilizar XHTML no desenvolvimento de facelets para criar páginas web compatíveis
com a JSF (JavaServer Faces) para apresentação dos dados. Na versão Java EE 7, essa forma
de apresentação é mais indicada que a JSP (JavaServer Pages), uma vez que esta não suporta
todos os novos recursos da versão Java EE 7.

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 29/30


9. Java EE - JSF

Solução

Gabarito:

Referências e links deste capítulo

1 [Link]

2 [Link]

3 [Link]

Desenvolvimento de Software para Banco do Brasil (Escriturário - Agente de Tecnologia) 30/30

Você também pode gostar