Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FUNDATEC 2023

ProgramaçãoLinguagens de programação
Código
qq896818
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Java
Analise o seguinte trecho de código Java que implementa uma servlet versão 3.0 para imprimir uma mensagem na tela.@WebServlet("/titulo")public class TituloServlet extends ______ {protected void ____ (____ request, ______ response) throws______ , IOException {PrintWriter out = response.getWriter();out.println("<html>Servlet em processamento."<html>);out.close();}}Assinale a alternativa que preenche, correta e respectivamente, as lacunas do código acima.
  1. AServlet – doPut – ServletRequest – ServletResponse – ServletException
  2. BHttpServlet – doGet – HttpServletRequest – HttpServletResponse – ServletException
  3. CServlet – get – Request – Response – Exception
  4. DHttpServlet – doGet – HttpServletRequest – HttpServletResponse – HttpServletException
  5. EServlet – doPut – ServletRequest – ServletResponse – HttpServletException
Revelar gabarito e comentário

GabaritoB — HttpServlet – doGet – HttpServletRequest – HttpServletResponse – ServletException

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”.

Servlet 3.0 – Implementação de servlet

Gabarito: letra B. A servlet 3.0 com a anotação @WebServlet deve estender a classe HttpServlet, implementar o método doGet (ou doPost) cujos parâmetros são HttpServletRequest e HttpServletResponse, e lançar ServletException (além de IOException). A alternativa B preenche todas as lacunas corretamente.

O código apresentado é uma servlet que responde a requisições HTTP GET (não há indicação de formulário). O método doGet é o mais comum para esse tipo de resposta direta. As outras alternativas erram ao usar a classe abstrata Servlet (que não fornece o método doGet) ou ao trocar o tipo dos objetos request/response pelas versões genéricas (ServletRequest/ServletResponse) ou ao usar exceção incorreta (HttpServletException).

Lacuna

Alternativa Correta (B)

Alternativa A

Alternativa C

Alternativa D

Alternativa E

Classe estendida

HttpServlet

Servlet

Servlet

HttpServlet

Servlet

Método

doGet

doPut

get

doGet

doPut

Tipo do request

HttpServletRequest

ServletRequest

Request

HttpServletRequest

ServletRequest

Tipo do response

HttpServletResponse

ServletResponse

Response

HttpServletResponse

ServletResponse

Exceção

ServletException

ServletException

Exception

HttpServletException

HttpServletException

Alternativa A — ❌ Incorreta

Usa Servlet (classe abstrata que não possui método doGet), doPut (método para requisições PUT, não GET), ServletRequest e ServletResponse (são as superclasses genéricas, não específicas para HTTP). Além disso, ServletException está correta, mas os demais erros invalidam a alternativa.

Alternativa B — ✅ Correta ⟵ GABARITO

HttpServlet é a classe concreta para servlets HTTP, doGet é o método para requisições GET, HttpServletRequest e HttpServletResponse são os tipos corretos para manipular requisições e respostas HTTP, e ServletException é a exceção padrão para erros de servlet (junto com IOException).

Alternativa C — ❌ Incorreta

Usa Servlet (abstrata, sem método doGet), get (nome incorreto – o método correto é doGet), Request e Response (não existem como classes padrão do Java Servlet API), e Exception (genérica demais; o correto é ServletException).

Alternativa D — ❌ Incorreta

HttpServlet e doGet estão corretos, e os objetos request/response também estão corretos. Porém, a exceção HttpServletException não existe na API de servlets; o correto é ServletException.

Alternativa E — ❌ Incorreta

Usa Servlet (abstrata), doPut (método errado), ServletRequest e ServletResponse (genéricos), e HttpServletException (inexistente). Múltiplos erros.

NÃO CAIA NESSA!

A banca tenta confundir a classe HttpServlet com a superclasse Servlet (que não deve ser estendida diretamente) e troca o método doGet por doPut (que existe, mas é para outro tipo de requisição). Além disso, oferece HttpServletException como distrator, que não existe na API. Lembre-se: para servlets HTTP, a classe é HttpServlet, o método é doGet/doPost, e a exceção é ServletException.

Gabarito: letra B.

Link permanente: /questoes/qq896818