Java - Problemas hacer carrito de compra

   
Vista:

Problemas hacer carrito de compra

Publicado por Fernando (1 intervención) el 25/12/2014 20:06:31
Hola,

Soy novato en esto de la programacion. Estoy intentando hacer un carrito de la comprar con servlet pero me da un error en la compilación.

PAGINA HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
</<html>
    <head>
        <title>COMPRA DE MÓVILES POR INTERNET</title>
    </head>
    <body>
 
        <H3>DISPOSITIVOS MOVILES</H3>
        <form action ="/Carrito1"  method="POST"  >
            <p>
            <input type="checkbox" name="ejemplar" value="Motorola A1200">Motorola A1200<BR>
            <input type="checkbox" name="ejemplar" value="Motorola V1100">Motorola V1100<BR>
            <input type="checkbox" name="ejemplar" value="Nokia N73">Nokia N73<BR>
            <input type="checkbox" name="ejemplar" value="Nokia 6288">Nokia 6288<BR>
            <input type="checkbox" name="ejemplar" value="Samsung Z140">Samsung Z140<BR>
            <input type="checkbox" name="ejemplar" value="Siemens CL75">Siemens CL75<BR>
            <input type="checkbox" name="ejemplar" value="Sony Ericsson W300i Walkman">Sony Ericsson W300i Walkman<BR>
            <input type="checkbox" name="ejemplar" value="Sony Ericsson W44S">Sony Ericsson W44S<BR>
            <p>
            <input type="submit" value="COMPRAR">
            <input type="reset" value="LIMPIAR">
        </form>
    <body>
</html>

***********************************************************
PRIMER SERVLET PARA ALMACENAR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 *
 * @author fer
 */
@WebServlet(name="Carrito1", urlPatterns = {"/Carrito1"})
 
public class Carrito1 extends HttpServlet {
 
 
    public void doGet (HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException{
    response.setContentType("text/html");
    ServletOutputStream out = response.getOutputStream();
    out.println("<html>");
    out.println("<head><title>Respuesta del servlet Carrito1" +
    "</title></head>");
    out.println("<body");
 
 
    Cookie c;
 
      /* Obtener los datos introducidos en el formulario */
      Enumeration keys;
      String  name, value, prefix;
      keys = request.getParameterNames();
      while (keys.hasMoreElements()){
 
 
    name = (String)keys.nextElement();
    prefix = name.substring(0,4);
    if (prefix.equals("ejemplar")){
    // esta comprobacion permite quedarnos solo con los elementos
    // tipo item_a, item_b, item_c
    /* Obtener el String asociado como value al nombre dado */
    value = request.getParameter(name);
    /* Crear la cookie con name y value */
    out.println("<H4>Creando la cookie: " + name + " " + value + "</H4>");
    c = new Cookie(name, value);
    /* Establecer un periodo de validez de un dia (en segundos)*/
    c.setMaxAge(1*24*60*60);
/* incorporar la cookie en la respuesta para que el cliente la cree*/
     response.addCookie(c);
}//end if
} //end while
out.println("</body></html>");
/* Despues de mandar esa respuesta se redirige la ejecucion
hacia Carrito2 para mostrar los items.
Carrito 2 recibe una peticion doGet basica gracias a ese Redirect,
y sabe los items comprados
gracias a las cookies que hemos creado en el navegador */
/* si se comenta esta linea se puede comprobar las cookies
que se han creado*/
response.sendRedirect("Carrito2");
} //end doPos
 
} //end Carrito

*******************************************************************
Segundo servlet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
 
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 *
 * @author fer
 */
@WebServlet(name ="Carrito2", urlPatterns = {"/Carrito2"})
public class Carrito2 extends HttpServlet {
 
    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
 
    /* Ver libros seleccionados en la compra */
   public void doGet(HttpServletRequest req,
     HttpServletResponse res)
     throws ServletException, IOException
   {
      res.setContentType("text/html");
      ServletOutputStream out = res.getOutputStream();
      out.println("<html>");
      out.println("<head><title>Respuesta del servlet Carrito2" +
                  "</title></head>");
      out.println("<body>");
      out.println("<body bgcolor=\"beige\">");
      out.println("Contenidos del carro de compra<UL>");
 
      /* Obtener cookies de la peticion */
      Cookie cookies[];
 
      cookies = req.getCookies();
      if (cookies != null){
 
         for (int i = 0; i < cookies.length; i++){
 
            /* Es importante atender a las cookies que empiecen por item,
		pues puede haber otras muchas cookies en el sitio web */
            if (cookies[i].getName().startsWith("ejemplar")){
 
               out.println("<LI>" + cookies[i].getName() +
                  "\t" +  cookies[i].getValue());
            }
         } // end for
      } // end if
 
      out.println("</UL>");
      out.println("<HR>");
      out.println("</body></html>");
 
   } // end doGet
 
} // end Carrito2

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problemas hacer carrito de compra

Publicado por Maverick (96 intervenciones) el 30/12/2014 22:25:08
Hola Fernando,

Sugiero que indique el mensaje de error que te sale.

Cualquier cosa te puedes comunicarte a oscardelphi@gmail.com

Saludos cordiales

Maverick
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar