Técnico de Gestão Administrativa - Analista de Sistemas
A interface javax.servlet.Servlet define métodos que são acionados durante o ciclo de vida padrão do servlet.O método service() desta interface
Asincroniza o acesso aos recursos compartilhados.
Blibera todos os recursos alocados e utilizados pelo servlet.
Cé idempotente quando utilizado para gerar páginas JSP.
Dexecuta somente se o método init() já tiver sido concluído.
Einvoca o método done() para registrar o fim da execução.
Revelar gabarito e comentário▾
GabaritoD — executa somente se o método init() já tiver sido concluído.
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”.
Ciclo de Vida do Servlet - Método service()
Gabarito: letra D. O método service() da interface javax.servlet.Servlet é executado somente após o método init() ter sido concluído com sucesso. Esta é a sequência padrão do ciclo de vida de um servlet.
A questão cobra o conhecimento básico do ciclo de vida de servlets Java: o contêiner chama init() uma vez para inicializar o servlet; depois, para cada requisição, chama service(), que roteia para doGet(), doPost() etc.; e, ao final, chama destroy() para liberar recursos.
1init()1 vez
2service()cada requisição
3doGet() / doPost()roteamento
4destroy()final
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A sincronização de acesso a recursos compartilhados não é responsabilidade do método service(). Embora o servlet possa lidar com concorrência, a sincronização é uma preocupação de implementação do desenvolvedor, não uma definição da interface. O método service() não sincroniza automaticamente nada.
Alternativa B — ❌ Incorreta
Liberar todos os recursos alocados e utilizados pelo servlet é função do método destroy(), não do service(). O destroy() é chamado pelo contêiner quando o servlet está sendo removido, permitindo a limpeza.
Alternativa C — ❌ Incorreta
Idempotência não é uma característica do método service(). Idempotência refere-se a operações que produzem o mesmo resultado independentemente de quantas vezes são executadas (ex.: métodos HTTP GET e PUT). O service() pode manipular requisições GET, POST etc., mas sua definição na interface não garante idempotência. Além disso, páginas JSP são compiladas para servlets, mas o método service() do Servlet não é inerentemente idempotente.
Alternativa D — ✅ Correta ⟵ GABARITO
Exatamente: o ciclo de vida define que init() deve ser chamado e completado antes que qualquer requisição seja processada. O contêiner só invoca service() após o init() terminar sem exceções. Caso init() falhe, o servlet não é colocado em serviço e service() nunca será chamado.
Alternativa E — ❌ Incorreta
Não existe um método done() na interface javax.servlet.Servlet. O método que sinaliza o fim do ciclo de vida é destroy(). A alternativa inventa um método inexistente.
NÃO CAIA NESSA!
A banca tenta confundir o candidato associando service() a funções que pertencem a outras fases do ciclo (destroy(), init()) ou a conceitos como sincronização e idempotência. Memorize a ordem: init() → service() (loop) → destroy().