Servlet metodos Init() e Destroy()

Save galera, eu estou estudando JAVA e iniciando por Servlet fiquei com uma dúvida e gostaria da ajudas de vocês:

  1. Para que serve os metodos Init() e Destroy()?
  2. Quando devemos e quando não devemos utilizar esses metodos?
  3. Podem dar um exemplo do seu uso?

Desde já agradeço.

Leandro Fonseca

Tá explicado na documentação da interface Servlet:
https://docs.oracle.com/javaee/7/api/javax/servlet/Servlet.html
:slight_smile:

Os métodos init() e destoy() de uma Servlet fazem parte do ciclo de vida dela, uma vez que toda Servlet é instanciada uma só vez assim que chamada (similar á singleton), o web container (tomcat por exemplo) instancia ela e executa seu método init() e o metodo destroy() só é chamado quando o server é parado, espero que tenha ajudado, também sou iniciante.

@staroski e @Jose_Leles Muito obrigado pelo retorno, ajudou muito.

Posso abusar mais um pouco rs…

Quando temos uma aplicação que é acessada por vários usuários e estamos usando Servlet o uso desses métodos pode auxilar para o consumo de memoria?
Cada usuário que abrir essa página dispara um thread que instancia a Servlet é isso?

Att,
Leandro Fonseca

Pelo o que eu saiba, não, muitos usuários usam o mesmo objeto Servlet, o desempenho é melhor por conta disso.

Uma Servlet só é instancia quando um usuário usa ela, depois disso todos usam a mesma Servlet.

Estou aprendendo Servlet e JSP em um curso aqui em SP. estou na metade do curso, mas espero que isso ajude (https://www.caelum.com.br/apostila-java-web/servlets/#5-1-paginas-dinamicas).

Estou fazendo o mesmo curso hahaha…

1 curtida