Galera.
Preciso passar um ResultSet de um SErvlet para outro.
Como faço isto? é possivel?
Silvio
Galera.
Preciso passar um ResultSet de um SErvlet para outro.
Como faço isto? é possivel?
Silvio
Popula um List e trabalha com ele em vez do ResultSet
Só completando dá uma olhadinha em DAO
Mas eu consigo jogar int num list?
Faz um list de objetos como o santoro sugeriu… tipo:
LinkedList lista = new LinkedList();
while (resultSet.next()) {
Produto produto = new Produto();
produto.setId(resultSet.getInt(1));
produto.setNome(resultSet.getString(2));
lista.add(produto);
}
este seu produto é um bean?
Para passar ele de um servlet para outro vou ter que por na session?
Da pra passar via URL?
Você pode jogar o lista em uma session e no outro servlet você pega essa lista e apaga a session utilizada… é uma solução!
Pode não ser a melhor, mas é uma opção.
mas entao qual seria a solucao + apropriada?
Como vou pegar a lista?
mas entao qual seria a solucao + apropriada?
Como vou pegar a lista?
Cara, isso é simples. A comunicação entre servlets se dá por meio da interface RequestDispatcher. Então a solução mais simples seria em 4 passos básicos (adapte para sua realidade). Assim:
//***************************************************
SERVLET 1
// coloque a lista na requisição. Não precisa colocar na sessão.
req.setAttribute(“lista”,minhaLista);
//adquira um apontamento para o segundo servlet ambos mapeado no web.xml
RequestDispatcher rd = req.getRequestDispatcher("/servlet/MeuServlet");
// encaminha efetivamente a requisição para o segundo servlet
rd.forward(req,res);
//****************************************************
SERVLET 2
// recupere a lista no segundo servlet
List minhaLista= req.getAttribute(“lista”);
// faça o que quiser com a lista…
//****************************************************
É isso!
Arierom
A pergunta faz bastante sentido porque em Windows e ASP é costumeiro usar um “disconnected recordset” para passar dados de um componente VB de/para o ASP. O equivalente do “disconnected recordset” seria um javax.sql.CachedRowSet.
Exatamente o que o thingol disse. E outra pra quem saiu agora de linguagens como ASP, realmente fica nesse dilema.
Acho que muita gente usa listas de objetos etc. porque não é tão fácil assim gerar um CachedRowSet, e além disso é coisa recente no Java. (Eu mesmo nunca usei o tal do CachedRowSet).