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.
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
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
importjavax.servlet.ServletContext;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;publicclassMeuContextListenerimplementsServletContextListener{publicvoidcontextDestroyed(ServletContextEvente){// TODO Auto-generated method stub}publicvoidcontextInitialized(ServletContextEvente){// Vamos supor que queremos deixar um CoisaFactory no escopo do contextoCoisaFactoryfactory=newCoisaFactory();e.getServletContext().setAttribute("minhaCoisaFactory",factory);// Ou caso queira iniciar um logger como o log4j ou sei lá}}