Questão de Programação — Linguagens de programação — FUNDATEC 2023
Programação›Linguagens 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.
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.