Pular para o conteúdo principal

Questão de Programação — Java — FGV 2023

ProgramaçãoJava
Código
fg063617
Banca
FGV
Órgão
DPE-RS
Ano
2023
Nível
Superior
Cargo
Analista - Área de Apoio Especializado - Tecnologia da Informação - Desenvolvimento de Sistemas
O uso de Portlets simplifica a construção de portais com base na tecnologia Java Web, tratando as divisões do portal como aplicativos independentes e interoperáveis, que podem ser organizados hierarquicamente.A versão 3 da API permite a utilização de anotações, sendo correto afirmar que:
  1. Aeventos são definidos pela anotação EventDefinition, no parâmetro events de PortletConfiguration;
  2. Bo conteúdo do Portlet é fornecido por um método anotado com HeaderMethod;
  3. Co atributo portletName é de preenchimento obrigatório para a anotação PortletApplication;
  4. Dum título para o Portlet seria definido no atributo title da anotação PortletApplication;
  5. Eo processamento de um evento é implementado em um método anotado com EventMethod, sendo obrigatório fornecer os atributos portletName e processingEvents.
Revelar gabarito e comentário

GabaritoE — o processamento de um evento é implementado em um método anotado com EventMethod, sendo obrigatório fornecer os atributos portletName e processingEvents.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Portlets e anotações na API 3.0

Gabarito: letra E. Na especificação Portlet 3.0 (JSR 362), o processamento de eventos é feito por um método anotado com @EventMethod, sendo obrigatórios os atributos portletName e processingEvents. As demais alternativas apresentam anotações ou parâmetros incorretos.

A banca cobra o conhecimento das anotações definidas no pacote javax.portlet.annotations para a versão 3 da API.

Anotação

Função

Atributos obrigatórios

Observação

@EventDefinition

Definir evento

Usada na classe do portlet, não em @PortletConfiguration

@RenderMode

Fornecer conteúdo do portlet

Ex.: @RenderMode("view"); não existe HeaderMethod

@PortletApplication

Aplicação portlet

name

portletName não é obrigatório

@PortletConfiguration

Configuração do portlet

Define título (display-name), não @PortletApplication

@EventMethod

Processar evento

portletName, processingEvents

Gabarito (letra E)

Alternativa A — ❌ Incorreta

Eventos são definidos pela anotação @EventDefinition, mas não no parâmetro events de @PortletConfiguration. A anotação @EventDefinition é usada na classe do portlet, e @PortletConfiguration não possui um parâmetro events.

Alternativa B — ❌ Incorreta

O conteúdo do portlet é fornecido por métodos anotados com @RenderMode (ex.: @RenderMode("view")) ou pelo método doView. Não existe a anotação HeaderMethod na API Portlet.

Alternativa C — ❌ Incorreta

A anotação @PortletApplication possui o atributo portletName, mas ele não é de preenchimento obrigatório; o atributo name é o requerido.

Alternativa D — ❌ Incorreta

Não há atributo title na anotação @PortletApplication. O título (display-name) é definido em @PortletConfiguration ou no descritor portlet.xml.

Alternativa E — ✅ Correta ⟵ GABARITO

Na API Portlet 3.0, o processamento de um evento é implementado em um método anotado com @EventMethod, que exige os atributos portletName (para identificar o portlet) e processingEvents (para especificar os eventos processados). Essa é a forma correta de declarar um ouvinte de evento.

Gabarito: letra E.

Link permanente: /questoes/fg063617