Java - Se vacía Hashtable o un ArrayList con Servlets

 
Vista:
sin imagen de perfil

Se vacía Hashtable o un ArrayList con Servlets

Publicado por Jose (1 intervención) el 19/08/2015 21:23:16
Hola, estoy haciendo un ejemplo básico con servlets.
Tengo la página index.html con un formulario donde inserto nombres. Los capturo con request.getParameter y luego los inserto en un arrayList. Hasta ahí bien.
Ahora tengo un enlace a otra web ("borrar.html") para borrar un array de la lista pero no ve el array. Siempre está vacío.
He probado a utilizar una tabla hashtable y me ocurre lo mismo.
Muestro el ejemplo:
// INDEX.HTML
1
2
3
4
5
6
7
<body>
	<form action="Login3" method="post">
		<b3>Nombres <input type="text" name="nombre">
 
		<input type="submit">
	</form>
</body>

//Login3.java
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
@WebServlet("/Login3")
public class Login3 extends HttpServlet {
	private static final long serialVersionUID = 1L;
 
 
	public ArrayList<String> webs;
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Login3()
    {
    	 	webs = new ArrayList<String>();
    	//super();
 
    }
 
 
 
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//request.getSession();
		Login3 log = new Login3();
		String name;
		name = request.getParameter("nombre");
 
		/*CON ARRAY */
		//Inserto y muestro
		webs.add(name);
 
		//Muestro el array
		Iterator it = webs.iterator();
        while(it.hasNext())
              System.out.println(it.next());
 
		PrintWriter out = response.getWriter();
		out.println("<HTML>");
		out.println("<BODY>");
		out.println("El nombre insertado es: "+name);
		out.println("<br>");
		out.println("Borrar productos:");
		out.println(" <A href=\"./borrar.html\">BORRAR WEBS...</A>");
		out.println("INICIO:");
		out.println(" <A href=\"./index.html\">INICIO...</A>");
		out.println("</BODY>");
		out.println("</HTML>");
 
 
	}
 
}


//BORRAR.HTML
1
2
3
4
5
6
7
8
<body>
<b2>BORRAR WEBS </b2>
<form action="Borrar" method="post">
		<b3>Host <input type="text" name="host">
		<input type="submit">
	</form>
 
</body>

//BORRAR.JAVA
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
@WebServlet("/Borrar")
public class Borrar extends HttpServlet {
	private static final long serialVersionUID = 1L;
 
 
 
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Borrar() {
        super();
        // TODO Auto-generated constructor stub
    }
 
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
 
		String name;
		name = request.getParameter("name");
 
 
		Login3 log = new Login3();
		System.out.println(log.webs);
		System.out.println("Se va a borrar: "+name);
		log.webs.remove(name);
 
		//muestro el array
		//recorrido usando un iterador para mostrar un elemento por línea
 
				Iterator it = log.webs.iterator();
		        while(it.hasNext())
		              System.out.println(it.next());
 
 
		        PrintWriter out = response.getWriter();
				out.println("<HTML>");
				out.println("<BODY>");
 
				out.println("INICIO:");
				out.println(" <A href=\"./index.html\">INICIO...</A>");
 
				out.println("</BODY>");
				out.println("</HTML>");
	}
 
}
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
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Se vacía Hashtable o un ArrayList con Servlets

Publicado por Andrés Mella Romero (340 intervenciones) el 25/08/2015 16:37:19
Usa la sesión.

En el Login3, obten la sesión y guarda "webs"

session.setAttribute("webs", webs);

Depués en Borrar lee webs de la sesión.
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