Questão de Arquitetura de Software — Ciclo de Vida — Instituto Acesso 2024
Arquitetura de Software›Ciclo de Vida
Código
qg290159
Banca
Instituto Acesso
Órgão
Câmara de Manaus - AM
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas
No desenvolvimento web com Java, o ciclo de vida de um Servlet é fundamental para entender como ele é instanciado, executado e destruído pelo container. Cada fase do ciclo de vida corresponde a momentos específicos da aplicação. Com base nisso, qual das alternativas a seguir descreve corretamente o ciclo de vida de um Servlet?
AO ciclo de vida do Servlet termina quando o método init() é chamado, pois é a última operação realizada
BO método init() é chamado antes da primeira requisição ao Servlet e é chamado novamente para cada nova requisição subsequente.
CO método destroy() é invocado logo após o service() ser executado em cada requisição, para liberar recursos alocados.
DUm Servlet é destruído automaticamente após processar uma única requisição, garantindo que novos objetos sejam criados para cada requisição.
EO método service() é responsável por lidar com todas as requisições feitas ao Servlet, delegando-as aos métodos específicos como doGet() e doPost().
Revelar gabarito e comentário▾
GabaritoE — O método service() é responsável por lidar com todas as requisições feitas ao Servlet, delegando-as aos métodos específicos como doGet() e doPost().
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 de um Servlet
Gabarito: letra E. O método service() é o ponto de entrada para todas as requisições HTTP, delegando-as aos métodos doGet(), doPost() e outros conforme o tipo de requisição. As demais alternativas apresentam erros clássicos sobre as fases do ciclo de vida.
O ciclo de vida de um Servlet é gerenciado pelo container (ex.: Tomcat) e segue três fases principais:
Inicialização: o método init() é chamado uma única vez após a instância ser criada, antes de qualquer requisição.
Atendimento: o método service() é chamado para cada requisição e decide qual método específico (doGet, doPost, etc.) executar.
Destruição: o método destroy() é chamado uma única vez quando o container decide remover o Servlet da memória (ex.: parada da aplicação).
1init()1 vez
2service()cada requisição
3destroy()1 vez
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que o ciclo termina com init(). Na verdade, init() é a primeira operação após a instanciação; o ciclo termina com destroy().
Alternativa B — ❌ Incorreta
Diz que init() é chamado a cada requisição. init() é executado apenas uma vez na carga do Servlet. Cada requisição chama service().
Alternativa C — ❌ Incorreta
Informa que destroy() é chamado após cada service(). destroy() é invocado uma única vez no final da vida do Servlet, não por requisição.
Alternativa D — ❌ Incorreta
Sugere que o Servlet é destruído após processar uma requisição. Na prática, os Servlets são reutilizados para múltiplas requisições, evitando recriação constante.
Alternativa E — ✅ Correta ⟵ GABARITO
O método service() recebe a requisição e, conforme o método HTTP, delega ao método correspondente (doGet(), doPost(), etc.). Essa é a descrição correta do papel do service().
PEGA ESSA DICA!
Para fixar o ciclo de vida, lembre-se da sequência: init() → service() [repetido] → destroy(). Cada método tem um papel e frequência específicos. Questões de concurso exploram justamente a confusão entre init/service/destroy e suas repetições.