Foros del Web » Programación para mayores de 30 ;) » Java »

Problema Servlet

Estas en el tema de Problema Servlet en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/01/2011, 03:55
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Problema Servlet

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 ServletExceptionIOException {

 
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<SectionFormlistado=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){
      [
Bdireccion="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 requestHttpServletResponse response)
    
throws ServletExceptionIOException {
        
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<SectionFormlistado=op.obtenerProductos();
      
ArrayList<SectionFormPr= 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
  #2 (permalink)  
Antiguo 01/02/2011, 11:57
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema Servlet

Alguna idea? no consigo meter en un array los datos de ese idproducto para poder continuar y que me almacene cuando un cliente pulse el boton comprar
No se como crear un array :(

pd:. Toy desesperadorl.....
  #3 (permalink)  
Antiguo 02/02/2011, 06:30
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema Servlet

Pues por cada item que añadas puedes crear un input nuevo con el mismo nombre de parámetro o meterlos todos en un listado de elementos separados por comas u otro elemento.

En el servlet para el primer caso:

String[] valores = request.getParameterValues(paramName);

Para el segundo lo recoges como request.getParameter y luego lo procesas separando elemento a elemento con las diferentes funciones de control de cadenas.

:)
  #4 (permalink)  
Antiguo 03/02/2011, 11:11
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema Servlet

mmm, no me he enterado :p
es lo que tiene llevar un mes con esto :p

Bueno, recupero esto:

int id = Integer.parseInt(request.getParameter("id"));

lo que no tengo ni idea es meterlas en un array, ese id y sus datos asociados, o solo el array.

me han comentado que de esta forma se crearía el array


ArrayList<Producto> compra =ArrayList<Producto>)session.getAttribute("compra" );
Producto será el bean de todos los productos
compra el atributo del servlet donde paso el parametro (id)

Producto p = operaciones.getProductoPorId(id);
esto no se lo que es :p

mu bloqueado :(

Última edición por rickmanblues; 03/02/2011 a las 11:17

Etiquetas: servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:16.