Pular para o conteúdo principal

Questão de Arquitetura de Software — Ciclo de Vida — Instituto Acesso 2024

Arquitetura de SoftwareCiclo 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?
  1. AO ciclo de vida do Servlet termina quando o método init() é chamado, pois é a última operação realizada
  2. BO método init() é chamado antes da primeira requisição ao Servlet e é chamado novamente para cada nova requisição subsequente.
  3. CO método destroy() é invocado logo após o service() ser executado em cada requisição, para liberar recursos alocados.
  4. DUm Servlet é destruído automaticamente após processar uma única requisição, garantindo que novos objetos sejam criados para cada requisição.
  5. 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:

  1. Inicialização: o método init() é chamado uma única vez após a instância ser criada, antes de qualquer requisição.

  2. Atendimento: o método service() é chamado para cada requisição e decide qual método específico (doGet, doPost, etc.) executar.

  3. 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).

  1. 1init()1 vez
  2. 2service()cada requisição
  3. 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.

Gabarito: letra E.

Link permanente: /questoes/qg290159