Recuperar instancia de servlet

3 respostas
pedrobusko

senhores, vamos ver se alguem pode me ajudar…

Estou na manutenção em um sistema, web porém sem o padrão MVC (ic!). Em determinado momento eu preciso utilizar um método de outro Servlet, porém a chamada desse método é feita via reflection…

Method metodo = OutroServlet.class.getDeclaredMethod(nomeMetodo, tipoParametros);
retorno = metodo.invoke(new OutroServlet(), parametros); //Aqui é que esta o problema

no método invoke(), eu tenho que passar um Object, que seria a instancia da classe que contem os métodos, e um Object[] com os parametros…o lance é que no Servlet “pai” é populado um objeto que quarda os dados do meu formulário…isso é feito quando o próprio tomcat instancia o Servlet…o meu problema, é que, ao fazer um new OutroServlet() eu perco isso, aih quando chama o método, danou-se tudo…

eu precisaria de alguma forma, ter uma instancia do Servlet, como se fosse uma requisição web mesmo, tipo, eu precisaria forçar com q o tomcat mesmo criasse a instancia do servlet, e eu pudesse recupera-la…a não ser q, o tomcat inicialize todos os servlets quando ele “sobe”, aih eu soh precisaria recuperar a instancia, mas acho q não funciona assim…

espero q alguem entenda a minha dúvida, e se puder ajudar…

Valeu!

3 Respostas

_Renatu

Você pode guardar uma referência do servlet numa variável static, quando ele é construído, ou iniciado… e ter um método que retorna…
algo tipo singleton… com um getInstance()…

_Renatu

ah…
e tem alguma configuraçao do web.xml que você força o tomcat a instanciar o servlet, quanto o servidor inicia.

<load-on-startup> acho…

pedrobusko

_Renatu:
Você pode guardar uma referência do servlet numa variável static, quando ele é construído, ou iniciado… e ter um método que retorna…
algo tipo singleton… com um getInstance()…

eu não entendi como recuperar a instancia do Servlet…

e para fazer algo tipo Singleton eu teria q mexer no construtor do Servlet! eh isso mesmo?

Criado 23 de janeiro de 2007
Ultima resposta 23 de jan. de 2007
Respostas 3
Participantes 2