Problemas com o carrinho de Compra não Funciona

Olá galera,
Bom preciso de ajuda , estou desenvolvendo um projeto de sistema de vendas web em MVC, estou com problema com carrinho de compra.
O problema é o seguinte, quando eu tento adicionar produto ao carrinho, ele não adiciona, pois caso adiciona iria para página de produto adicionado ao carrinho,
gostariam que vocês me ajudassem, os códigos estão abaixo?

ControleCarrinho (Camada Controle)

[code]else if(request.getParameter(“carrinho”) !=null)
{
try{
CarrinhoCompra carrinho= (CarrinhoCompra) request.getAttribute(“carrinho”);
if(carrinho == null)
{
carrinho = new CarrinhoCompra();
sessao.setAttribute(“carrinho”, carrinho);
}

        // Recupera o produto que está na interface e o adiciona ao carrinho.
                    for(int contador=0; contador<request.getParameterValues("codigo").length; contador++)
                        {
                            prod.setCodigo(Integer.parseInt(request.getParameterValues("codigo")[contador]));
                            System.out.println("teste2");
                            carrinho.add(prod);
                        }
                       List<Produto>produtos=null;
                       Produto[] produto= carrinho.getProdutos();
                       for(int i=0; i<produtos.size(); i++ )
                           {
                            prod.setCodigo(produto[i].getCodigo());
                            produtos= prodDAO.ConsultarCodigo(prod);
                           }
                        request.setAttribute("carrinho", produtos);
                        request.getRequestDispatcher("/Carrinho.jsp").forward(request, response);

              }
                  catch(Exception e){
              e.printStackTrace();
              System.out.println("erro no sistema:"+e.getMessage());
              }
              }

[/code]

CarrinhoCompra (Camada Negocio)

import java.util.ArrayList;


public class CarrinhoCompra {
     private ArrayList<Produto> produtos = new ArrayList<Produto>();

    public void add(Produto produto) {
        produtos.add(produto);
    }

    public void remove(Produto produto) {
        produtos.remove(produto);
    }

    public Produto[] getProdutos() {
        return(produtos.toArray(new Produto[produtos.size()]));
    }
}

Carrinho.jsp

[code]

Carrinho de compra


<%
List produtos= (List) request.getAttribute(“carrinho”);
        if(produtos !=null){%>
        <table border="1" align="center">
             <tr>
                 <td>Código</td>
                 <td>Nome</td>
                 <td>Preço Unitario</td>
                 <td>Quantidade</td>
                 <td>Subtotal</td>
            </tr>
            <%
   for(int i=0; i<produtos.size(); i++){
       Produto prod= produtos.get(i);%>
            <tr>
                 <td><%= prod.getCodigo()%></td>
                 <td><%= prod.getNome()%></td>
                 <td><%= prod.getValorUnitario() %></td>
                 <td><%
                       int codigo= prod.getCodigo();
                       int quantidade=0;
                  do{
                      quantidade=quantidade+1;
                      }while(codigo==prod.getCodigo());

                 %>
                 <input type="text" name="quantidade" value="<%=quantidade%>">
                 </td>
                 <td><%
                 double subtotal= quantidade* prod.getValorUnitario();
                 %>
                 <label><%=subtotal%></label> </td>
            </tr>

<%}}%>

[/code]