Hola, llevo un par de meses con Java y hace poco me he metido de lleno en el tema de Servlets, resulta que tengo que hacer una especie de "carrito de la compra", la parte de mostrar productos me funciona pero cuando intento agregar los productos seleccionados a un servlet es cuando me falla.
Os cuento:
tengo esta página que muestra los productos además de un href que obtiene los datos del idproducto para que lo muestre en otra pagina:
Código PHP:
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(true);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//obtiene los parámetros de contexto
String driver=getServletContext().
getInitParameter("driver");
String cadenacon=getServletContext().
getInitParameter("cadenacon");
Operaciones op=new Operaciones(driver,cadenacon);
ArrayList<SectionForm> listado=op.obtenerProductos();
String direccion = null;
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Bienvenida</title>");
out.println("</head>");
out.println("<body>");
if(listado.size()>0){
out.println("<table border='2'>");
out.println("<th>IDPRODUCTO</th><th>IDSECCION</th><th>PRODUCTO</th><th>PRECIO</th><th>DESCRIPCION</th><th>PROCESO</th>");
for(SectionForm lb:listado){
[B] direccion="Compras?cod="+lb.getIdproducto();[/B]
out.println("<tr><td>"+lb.getIdproducto()+"</td>");
out.println("<td>"+lb.getIdseccion()+"</td>");
out.println("<td>"+lb.getProducto()+"</td>");
out.println("<td>"+lb.getPrecio()+"</td>");
out.println("<td>"+lb.getDescripcion()+"</td>");
// out.println("<td><a href="+direccion+">COMPRAR</a></td></tr>");
out.println("<td><a href = "+direccion+">COMPRAR</a></td></tr>");
}
out.println("</table>");
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
en la segunda página tengo la recepcion del idproducto pero el problema está en que no se como meter el producto seleccionado(campos producto, precio y descripcion) en un array(recuperar de una sesion un parámetro que sea una colección) y que te lo muestre en el siguiente servlet:
Código PHP:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
HttpSession session = request.getSession(true);
response.setContentType("text/html;charset=UTF-8");
//obtiene los parámetros de contexto
String driver=getServletContext().
getInitParameter("driver");
String cadenacon=getServletContext().
getInitParameter("cadenacon");
String operacion = request.getParameter("cod");
int numero=Integer.parseInt(operacion.trim());
session.getAttribute("cod");
Operaciones op=new Operaciones(driver,cadenacon);
ArrayList<SectionForm> listado=op.obtenerProductos();
ArrayList<SectionForm> Pr= new ArrayList();
ArrayList<Producto> array =(ArrayList<Producto>)session.getAttribute("idproducto");
if(array==null){
array=new ArrayList<Producto>();
}
Producto producto1=new Producto();
// producto1.setIdproducto(request.getParameter("idproducto"));
producto1.setDescripcion(request.getParameter("descripcion"));
array.add(producto1);
response.setContentType("text/html");
out.println("<html>");
out.println("<head><title>Enviar parametros a un Servlet</title></head>");
out.println("<body>");
out.println("<h1>Enviar parametros a un Servlet</h1>");
out.println("EL ID ALMACENADO ES <strong>" + numero + "</strong><br>");
Iterator iter = array.iterator();
while (iter.hasNext())
{
out.println("EL <strong>" + iter.next() + "</strong><br>");
out.println("array <strong>" + producto1 + "</strong><br>");
}
Lo que intento es que me muestre los datos almacenados en el array puesto pero me da a mi que no encuentra nada y coje lo que le da la gana.
Vamos mi idea es que junto con el idproducto me almacene en el array los datos producto, precio y descripcion.
Alguna idea?
Gracias anticipadas