Como definir uma classe de inicialização do meu sistema(web)?

2 respostas
fabiozoroastro

Bom dia a todos, procurei aqui no fórum mas não achei, então, pergunto:
Como eu defino uma classe de inicialização do meu sistema(Web)?
Sempre que o tomcat iniciar minha aplicação, quero que execute esta classe.

Ps.: Sem ser na configuração do struts, fazendo a classe implementar a Interface PlugIn.

Abraços.

2 Respostas

Leozin

Olá caro Fabio tudo bem?

Bom, é bem simples de se fazer isso, mas vamos deixar claro que você quer que isso aconteça quando a tua aplicação web inicia (e não um servlet) certo?

Vamos lá

primeiramente você deve alterar o ser arquivo web.xml, adicionar as seguintes linhas

<listener>
  <listener-class>br.com.guj.listener.MeuContextListener</listener-class>
</listener

Após isso, você deve fazer uma classe que implemente a interface javax.servlet.ServletContextListener. O código que você irá executar quando iniciar é o que você botar no contextInitialized :slight_smile:

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;


public class MeuContextListener implements ServletContextListener {

	public void contextDestroyed(ServletContextEvent e) {
		// TODO Auto-generated method stub
		
	}

	public void contextInitialized(ServletContextEvent e) {
		// Vamos supor que queremos deixar um CoisaFactory no escopo do contexto
                CoisaFactory factory = new CoisaFactory();
                e.getServletContext().setAttribute( "minhaCoisaFactory", factory );

                // Ou caso queira iniciar um logger como o log4j ou sei lá
	}
}

Espero ter ajudado :slight_smile:

fabiozoroastro

Ajudou sim Leozim.
Mto Obrigado.

Criado 23 de outubro de 2006
Ultima resposta 23 de out. de 2006
Respostas 2
Participantes 2