Questão nº 42

Questão de Tecnologia da Informação · FCC TRT17 2022 (nº 42)

FCC2022Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

Em uma servlet Java de uma aplicação web em condições ideais, uma lista de objetos do tipo Departamento, contendo os dados de departamentos de uma empresa, foi encapsulada e enviada para uma página JSP chamada `listarDeps.jsp`, por meio do bloco de código abaixo.

List<Departamento> deps = dao.buscarDeps();

request.setAttribute("deps", deps);

disp = request.getRequestDispatcher("listarDeps.jsp");

disp.forward(request, response);

Na página listarDeps.jsp, após os recursos necessários serem importados, para receber essa lista utiliza-se a instrução

Resposta comentada

Gabarito Alternativa E

Quando você guarda um objeto no request (o "pedido" HTTP) usando request.setAttribute("nome", objeto), ele é armazenado como um tipo genérico Object. Para usá-lo com seu tipo original (como List<Departamento>) em uma página JSP, você precisa "avisar" ao Java qual é o tipo real do objeto, fazendo um processo chamado casting.

  • (A) Incorreta: request.getAttribute("deps") retorna um Object, e não é possível atribuir diretamente um Object a um List<Departamento> sem um casting explícito, o que causaria um erro de compilação.
  • (B) Incorreta: A classe Object (retornada por request.getAttribute) não possui um método toList<Departamento>(). Além disso, a sintaxe toList<Tipo>() não é um método Java válido para casting.
  • (C) Incorreta: List<Departamento>() antes da chamada ao método não é uma sintaxe válida para casting em Java. O formato correto para casting é (Tipo) objeto.
  • (D) Incorreta: request.getParameter("deps") é usado para recuperar dados enviados pelo cliente (parâmetros de URL ou formulário), não objetos armazenados no escopo do request via setAttribute. Esta é a armadilha da banca, pois confunde a forma de recuperar dados do cliente (getParameter) com a forma de recuperar objetos do servidor (getAttribute).
  • (E) Correta: request.getAttribute("deps") recupera o objeto armazenado no request como um Object. O (List<Departamento>) realiza o casting explícito, informando ao compilador que o Object retornado é, de fato, uma List<Departamento>, permitindo sua atribuição correta.

Fonte: FCC TRT17 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho