No contexto do ciclo de vida de um servlet, é correto afirma...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Resposta Correta: A
Para compreender a resposta correta, é essencial entender o ciclo de vida de um Servlet. Quando um servlet é carregado pela primeira vez no servidor, ocorrem alguns passos importantes para sua inicialização:
- Carregamento da classe do Servlet: O carregador de classe do servidor de aplicações localiza e carrega a classe do Servlet na memória.
- Inicialização: Após o carregamento da classe, o método init() é executado. Este método é chamado apenas uma vez e é utilizado para inicializar recursos que o servlet pode precisar durante seu tempo de vida, como abrir conexões de banco de dados ou inicializar configurações. Esta é uma ação única para cada servlet, não importa quantas requisições ele possa atender posteriormente.
- Atendimento de requisições: Após a inicialização, o servlet está pronto para atender às requisições dos clientes por meio do método service().
- Remoção do Servlet: Quando o servlet não é mais necessário, ou quando o servidor de aplicação é desligado, o método destroy() é chamado para permitir que o servlet libere recursos ou execute qualquer outra ação de limpeza antes de ser removido da memória.
A alternativa A é correta pois reflete exatamente este processo de inicialização do servlet. Agora, vamos rapidamente entender por que as outras opções estão incorretas:
- Alternativa B: O método destroy() é chamado quando o servlet está sendo descarregado, e não ao final de cada requisição.
- Alternativa C: Os Servlets são, de fato, processados utilizando threads, o que permite atender múltiplas requisições simultaneamente, aumentando sua escalabilidade.
- Alternativa D: Um servlet não é compilado a cada requisição. Ele é compilado uma única vez e, depois disso, é carregado e instanciado conforme necessário, sem recompilação.
- Alternativa E: O método para atender as requisições é conhecido como service(), não _service(), e é de fato chamado pelo container passando os objetos de requisição e resposta como parâmetros.
Portanto, conhecendo o ciclo de vida de um servlet, você pode facilmente identificar a alternativa A como a correta, pois ela descreve a ação inicial que o container do servidor executa ao carregar um servlet pela primeira vez.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Quem não tem acesso: --> A
Alternativa correta: A.
a) GABARITO;
b) ERRADA: o destroy() é chamado ao final de todas as requisições ou quando um timeout ocorrer;
c) ERRADA: são sim processados usando threads, uma para cada nova requisição;
d) ERRADA: ele cria uma thread do servlet, e não uma nova instância;
e) ERRADA: (não sei se é esse o erro) o container cria uma thread, e não esses objetos.
Edit:
e) ERRADA: os métodos são HttpServletRequest e HttpServletResponse.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo