
Problemas hacer carrito de compra
Publicado por Fernando (2 intervenciones) 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
***********************************************************
PRIMER SERVLET PARA ALMACENAR
*******************************************************************
Segundo servlet
Gracias
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


0