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

Problema: Una inserccion cada vez que actualizo

Estas en el tema de Problema: Una inserccion cada vez que actualizo en el foro de Java en Foros del Web. Hola, tengo en mi web un tablon de mensajes donde los usuarios pueden escribir comentarios, esto se hace desde la web tablonMensajes.jsp. Ahi el usuario ...
  #1 (permalink)  
Antiguo 02/09/2008, 02:05
 
Fecha de Ingreso: diciembre-2007
Mensajes: 124
Antigüedad: 16 años, 4 meses
Puntos: 2
Problema: Una inserccion cada vez que actualizo

Hola, tengo en mi web un tablon de mensajes donde los usuarios pueden escribir comentarios, esto se hace desde la web tablonMensajes.jsp. Ahi el usuario tiene un cajon de texto y un boton, donde inserta su comentario y pulsa el boton, al pulsarlo se va a la web tablonMensajeEnviado.jsp, que es una web igual que el anterior con la particularidad de que añade el mensaje a la BD, entonces una vez enviado el usuario permanece en esta ultima web.

El problema es que si el usuario actualiza la web, ese mismo mensaje se vuelve a introducir en la BD, una vez por cada vez que actualice, y si se pone a actualizar para ver si le han respondido llena la BD, y por consiguiente la web, de mensajes repetidos.

¿Como podria resolver este problema?
  #2 (permalink)  
Antiguo 03/09/2008, 01:48
 
Fecha de Ingreso: diciembre-2007
Mensajes: 124
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema: Una inserccion cada vez que actualizo

Nadie sabe ninguna forma para resolverlo?
  #3 (permalink)  
Antiguo 03/09/2008, 02:18
 
Fecha de Ingreso: septiembre-2008
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema: Una inserccion cada vez que actualizo

no me acaba de quedar muy claro... según he entendido tienes una jsp y desde esa llamas a otra igual, en la que insertas el mensaje.

Lo que yo haría es lo siguiente:

Tu llamas a la acción insertarMensaje.do por ejemplo. Ahí te trajinas todo y te lo montas para insertar en la base de datos.

Luego, desde la acción, lo que tienes que hacer es redirigir al usuario a la misma página (entiendo que en la parte superior aparecerá su mensaje)

saludos!
  #4 (permalink)  
Antiguo 03/09/2008, 02:23
 
Fecha de Ingreso: septiembre-2008
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema: Una inserccion cada vez que actualizo

no me acaba de quedar muy claro... según he entendido tienes una jsp y desde esa llamas a otra igual, en la que insertas el mensaje.

Lo que yo haría es lo siguiente:

Tu llamas a la acción insertarMensaje.do por ejemplo. Ahí te trajinas todo y te lo montas para insertar en la base de datos.

Luego, desde la acción, lo que tienes que hacer es redirigir al usuario a la misma página (entiendo que en la parte superior aparecerá su mensaje)

Cuando vuelvas a la jsp, borra los campos del form por javaScript y asegúrate siempre cuando le des a "enviar" de que el usuario ha rellenado todos los campos.

saludos!
  #5 (permalink)  
Antiguo 03/09/2008, 02:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 124
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema: Una inserccion cada vez que actualizo

Ajam, es cierto no habia pensado en redirigir al usuario una vez insertado el mensaje...
La cosa es que para insertarlo validando los campos del form tengo que ir a otro JSP no? eso es obligatorio, y luego desde este, lo redirijo al de antes.
  #6 (permalink)  
Antiguo 03/09/2008, 03:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema: Una inserccion cada vez que actualizo

No es obligatorio. Tu desde la jsp llamas a la acción y después por struts vuelves a la pantalla que quieras (puede ser perfectamente la misma)

No se como lo tendrás montado pero suponiendo que tienes dos zonas en la pantalla, una superior en la que muestras los mensajes y otra inferior donde insertas el nuevo, puedes redirigir a la misma página en la que mostrarás actualizada la zona superior con el nuevo mensaje.

Eso sí, al volver borra los campos del form y como te he dicho, siempre que le des a enviar, asegúrate de que el usuario mete todos los datos.

Saludos.
  #7 (permalink)  
Antiguo 03/09/2008, 03:56
 
Fecha de Ingreso: diciembre-2007
Mensajes: 124
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Problema: Una inserccion cada vez que actualizo

Ajam si ya lo he hecho y funciona, pero con dos jsp como te dije ya que por el momento no me he metido a aprender struts...
  #8 (permalink)  
Antiguo 03/09/2008, 05:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Problema: Una inserccion cada vez que actualizo

De todas formas, la recomendación oficial es que las peticiones que van a modificar el estado del servidor, como es tu caso, se hagan a traves del metodo POST, y no GET. Así si un usuario hace un recargar, se le advierte que va a duplicar su llamada. Tambien se hace por que los navegadores, proxies, etc. saben que "teoricamente" pueden llamar a una URL de tipo GET tantas veces como quieran que "no pasa nada".

La forma habitual de impedir lo que te pasa, aparte de cambiar el metodo de GET a POST, es redirigirle o substituir la pagina actual por otra que ya no tenga la petición, por JavaScript o por cabecera META refresh.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
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 09:31.