Sesiones y actualizacioes

Tengo una servlet que llama a un jsp que muestra unos datos los cuales pueden editarse o borrase según sea la opción del cliente. Cuando agrego un dato me lo muestra cuando carga la página nuevamente pero por código. Sin embargo si la actualizo por el botón del navegador, empieza a crearme tantos registros como veces apriete el botón actualizar del navegador.
Como puedo manejar esta situación, de manera que si se presioina el botón actualizar, no me regrabe los datos que ya estaban... No se si es clara la pregunta, pero ojala me puedas ayudar ...

2 respuestas

Respuesta
1
¿Puedes explicarme un ejemplo?
Cuando ingreso un registro, me voy a un método que toma el valor del botón del jsp, va a un switch y de ahí va al método que corresponde al ingreso. Ese método hace el insert y cuando termina, vuelve a un método que actualiza el sistema y me muestra la persona que ingrese. Si embargo, si hago un refresh de la página con el botón del navegador, ingresa los datos de la persona que ya había ingresado por que queda con el valor del botón y según cuantas veces apriete el botón actualizar del IExplorer es las veces que me pone el registro en la base de datos. Después del insert cierro la conexión y la abro cuando actualizo. La actualización la hago por código.
En el fondo el problemas es el refresh del navegador... no se si queda claro ahora
Esto te ocurre porque el Explorer cuando haces un refresh te reenvía el submit de tu formulario... Y en ese formulario tienes el valor de la acción que ha de ejecutar ese servlet. PAra evitar eso, asegúrate que cando termines la actualización redirijas al cliente a otra página que no sea esa misma... Ten en cuenta que hacer al un refresh estás reenviando el formulario al servlet para que lo procese y es por eso que, el servlet, realiza esa operación de nuevo...
no sé si me he explicado ...
Respuesta
Seguramente traes los parámetros por un método post, entonces al recargarla, vuelves a llamar a los mismos métodos, te recomiendo utilices páginas jsp para realizar manutenciones y actualizaciones en base de datos, y otras jsp para la presentación al cliente, eso te puede ayudar
Si eso hago hago, pero el servlet que tengo es el que dedide a que método va según el valor del botón que se presione. Si el valor que toma es "ing" va al método ingresar si es "elim" va a eliminar.. y lo hace bien.. pero cuando presiono refresh queda la pelota por que ingresa de nuevo el registro que acababa de ingresar
Es por lo que te digo yo, deberías manejar una variable que al comienzo la setees en 0, cuando elimines o ingreses cambiala a 1, entonces si la variable es 0, ingresa o elimina lo que tengas que hacer, en caso contrario, no hagas nada y vuelve a mostrar los registros, eso te asegurara que el ingreso o la eliminación solo la harás una sola vez

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas