Leitura do carrinho

Caros colegas,

Eu por meio de um help anterior consegui fazer um carrinho simples porém da maneira que eu consigo entender para posteriormente aumentá-lo. Porém, agora estou com um problema. Preciso fazer a leitura do objeto session mas quando o item for o mesmo somente aumentar a quantidade.

Alguém consegue sugerir um link?

Esotu conseguindo adicionar os itens ao carrinho, mas não consigo aumentar a quantidade quanto adiciono o mesmo item, mostra o item duplicado.

Bem, eu estou fazendo somente com o objeto de session sem bd.

Arquivo jsp


<a href="Comprar?livro=DominandoAjax&Cod=12"> Dominando Ajax </a></br>
<a href="Comprar?livro=DominandoCSS&Cod=13"> Dominando CSS </a></br>
<a href="Comprar?livro=DominandoXHTML&Cod=14"> Dominando XHTML </a></br>
<a href="Comprar?livro=DominandoJavascript&Cod=15"> Dominando Javacript </a></br>
<a href="Comprar?livro=DominandoEclipse&Cod=16"> Dominando Eclipse </a></br>

Arquivo


String nomeLivro = request.getParameter("livro");
		int codLivro = Integer.parseInt(request.getParameter("Cod"));
		
		Produto produto = new Produto();
		produto.setLivro(nomeLivro);
		produto.setId(codLivro);
		
		//criando um objeto da classe AdicionaItensCarrinho
		
		AdicionaItensCarrinho adProduto = null;
		
		adProduto = new AdicionaItensCarrinho();
		
		//recupera a lista do objeto session		
	
		
		ArrayList rproduto = (ArrayList) request.getSession().getAttribute("lista");
		rproduto = adProduto.AdicionaItensCarrinho(produto, rproduto);
		request.getSession().setAttribute("lista",rproduto);
		
		response.sendRedirect("livros.jsp");

A classe que 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());
		lista.add(dado.getId());
		
		return lista;
	}

Aqui o meu problema. No jsp eu leio porem não consigo ler individualmente acrescentando a quantidade mesmo que seja por variáveis para o entendimento depois eu acrescento o campo via bean


 ArrayList lista = (ArrayList) session.getAttribute("lista");
  	Iterator  i = lista.iterator();
 //	int item = 1;

 	while ( i.hasNext()){
 	  	
 		
 		
 		out.println( i.next()+"<br>");

 }

Agora eu até conseguir porém não atualizando a quantidade (itens) e sim repetindo o item com a quantidade atualizada

saida do jsp



DominandoAjax
12
DominandoAjax
12
DominandoAjax
12
DominandoAjax
12
DominandoCSS
13
DominandoXHTML
14
DominandoJavascript
15

Grato

Neste caso, você vai precisar verificar, realizando comparação por algum dos atributos do objeto produto (provavelmente o id) se algum elemento do carrinho também tem o mesmo valor para aquele atributo.
Caso sim, você apenas altera a quantidade. Caso não, você insere o item.

Eu entendo o conceito, e até tentei, porém o que acontece eu imprimo novamente a lista com o item acrescentado…vc não tem algo parecido que pudesse me mostrar…coisa simples e eu tento aqui…
Grato,