Carrinho de compras simples com servlet + jsp [resolvido]

Caros colegas,

Preciso de uma ajuda. Estou procurando um carrinho de compras com servlet e jsp. Já procurei na net e não tem nada simples. Alías, não achei um tutorial interessante.

Sei que uso o objeto de sessão. Não consigo é inserir os itens no objeto e recuperá-lo numa pagina jsp.

Alguém poderia me dar uma força?

Estou me esforçando mas tem hora que o cérebro fica lento muito lento.

Grato.

carioca2406,

Posta parte do código que você já tem e suas dúvidas que ajudamos.

Tem um material nesse link, veja se serve
http://www.blog.edersonlima.net/?p=195

Colega,

Esse é o meu código. O que acontece eu consigo ler o objeto de sessao porém somente um produto por vez, não adiciona na lista…

Bean


package ecommerce;

public class Produto {

		
	public Produto() {
		// TODO Auto-generated constructor stub
	}
	
	
	private String livro;


	public String getLivro() {
		return livro;
	}


	public void setLivro(String livro) {
		this.livro = livro;
	}
	
	}

Servlet


	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		String nomeLivro = request.getParameter("livro");
		
		Produto produto = new Produto();
		produto.setLivro(nomeLivro);
		
		ArrayList retornoLista = new ArrayList();
		
		retornoLista = new AdicionaItensCarrinho().AdicionaItensCarrinho(produto, retornoLista);
		
			
		HttpSession session = request.getSession(true);
		
		session.setAttribute("lista", retornoLista);
	
				
		response.sendRedirect("LerCarrinho.jsp");
	}

A classe java de adicionar os itens


public class AdicionaItensCarrinho {

	public ArrayList AdicionaItensCarrinho(Produto dado, ArrayList lista) {
		// TODO Auto-generated constructor stub
		
		if (lista == null){
			
			lista = new ArrayList();
		}
		
		lista.add(dado.getLivro());
		
		return lista;
	}

}

O arquivo que teria que ler o carrinho



<%

ArrayList lista = new ArrayList();

 lista = (ArrayList) session.getAttribute("lista");

 	Iterator i = lista.iterator();
 	
 	while ( i.hasNext()){
 		
 		out.println( i.next());
 	}
	
 
 
%>

Arquivo de inserçao das informações

<a href="Comprar?livro=Domindo+Ajax"> Dominando Ajax </a></br>
<a href="Comprar?livro=Dominando+CSS"> Dominando CSS </a></br>
<a href="Comprar?livro=Dominando+XHTML"> Dominando XHTML </a></br>
<a href="Comprar?livro=Dominando+Javascript"> Dominando Javacript </a></br>
<a href="Comprar?livro=Dominando+Eclipse"> Dominando Eclipse </a></br>


Bem, eu preciso de um entendimento fácil, pois eu teria que somente ao clicar no link adicionar o item no carrinho e exibir o carrinho na pagina jsp de leitura. Eu queria somente o entendimento de onde esotu errando com relação a adicionar mais itens ao carrinho, posteriiormente eu busco as outras informações… Achei alguns carrinhos mais muito difícieis e pelo que vi nos livros não é algo difícil, mas não estou conseguindo.

Me de uma força, grato.

1 curtida

Desculpa a demora em responder.
Entendo que você deve pegar o que está na sessão, adicionar o novo livro à sua coleção e devolvê-lo à sessão.

Veja

[code]String nomeLivro = request.getParameter(“livro”);

Produto produto = new Produto();
produto.setLivro(nomeLivro);

HttpSession session = request.getSession(true);
ArrayList retornoLista = (ArrayList)session.getAttribute(“lista”);

retornoLista = new AdicionaItensCarrinho().AdicionaItensCarrinho(produto, retornoLista);

//HttpSession session = request.getSession(true);

session.setAttribute(“lista”, retornoLista); [/code]
Acho que é isso…

Abs

1 curtida

colega,

Funcionou!

Valeu!

Grato.

Não esqueça sempre de incluir o [Resolvido] no título do tópico.

Abs