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

megaformulario con carro de compras

Estas en el tema de megaformulario con carro de compras en el foro de Java en Foros del Web. tengo un formulario en web, muy extenso, donde se maneja varios elementos, y cada uno de esos varios tiene otros elementos.. por lo que tenemos ...
  #1 (permalink)  
Antiguo 28/05/2008, 15:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 31
Antigüedad: 16 años, 1 mes
Puntos: 0
megaformulario con carro de compras

tengo un formulario en web, muy extenso, donde se maneja varios elementos, y cada uno de esos varios tiene otros elementos.. por lo que tenemos un objeto dimensionado en algunas varias variables!


especificacin del caso actual:
1)en primera pantalla se recogen datos del usuario, y se deben guardar
2)en la segunda se pide una plantilla con 4 arrays de datos, estos arrays indican acciones y se interpretan, junto a los datos personales, entonces sepresenta un resumen!
3)en la tercera pantalla se debe atender y mostrar las opciones definidas por el primer array, y se deben guardar los datos..
4)en la cuarta lo mismo para el segundo array, y la quinta igualmente el tercero y asi
5)en la septima pantalla se presenta un resumen completo! y despues se manda a DB todo... para mostrar en la ultima pantalla si es satisfactoria o no.. la insercion!

cuando se logra (aun de forma basica, sin poder corregir selecciones) completar el proceso, el query es extremo largo, y mi duda es si se podra diseccionar en varios querys independientes! colocarlos en un bloque BEGIN - END..

otra duda, es si hago eso, y esta persona no completa el proceso, quedaria abierta una transaccion! como le hago para que esto no ocurra, puesto no puedo poner un end previo en otro lugar...

mi idea es hacer un query en cada pantalla para cada asunto, y al final acometer los cambios! pero sera eso el equivalente a un carro de compra! ademas, todo debe borrarse si el usuario se sale de la pagina!!

uso JSP y servlets, con postgresql 8.X... los datos son algunos campos de datos en la primera pantalla, en la segunda se presenta u resumen, previamente consulto la DB y me traigo datos que deben ser completados, por decir cuatro, estos a su ves tienen mas datos, variables, y cada uno de esos vaiables debe ser completado, para enviarlo en el mismo orden a la DB junto los datos de la primera pantalla!
  #2 (permalink)  
Antiguo 29/05/2008, 00:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: megaformulario con carro de compras

No suele ser recomendable hacer que una transaccion abarque varias peticiones, por lo mismo que dices de que es dificil controlar si el usuario lo deja a la mitad.

Lo habitual suele ser ir almacenando los datos en sesion, o en la BDD pero marcandolos como "no confirmados", y esperar a que el usuario confirme al final para guardar los datos de sesion en BD, o marcar la transaccion en la BDD como "confirmada".

Para borrar las transacciones que se dejan a medias... si guardas las cosas en sesion, al caducar la sesion se borran, y si las guardas en BDD, puedes hacer un proceso que te borre de vez en cuando las transacciones "sin confirmar" que sean demasiado antiguas, o hacerlo cuando el mismo usuario vuelva a entrar etc. O guardar una referencia a esa transaccion en session y limpiarla cuando la session caduque.

El usar una opcion y otra depende de algunos factores. En una ocupas memoria del servidor, puede que no mucha o puede que si sea un problema, en el otro caso puedes hacer cosas aun que la sesion caduque, si se quiere, como dejarle continuar una transaccion en sesiones diferentes.

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 17:28.