各位大神,帮个忙,我遇到的问题是在java 中某项任务需要多个步骤完成,分为第一步,第二步,第三步,并且三个步骤在三个不同的页面,每一步需要填写一个表单,最后将三个表单的内容共同提交到数据库。如果某一步存在问题不能完成所以数据都不能存入数据库。
           我应该怎么做,每一步的数据应该暂时存放在什么地方,怎么存放。

解决方案 »

  1.   

    每一步的数据放到session里即可,最后从session里取到数据存入数据库即可。
      

  2.   

    最简便的做法是借助Session来存储各种中间数据,非常容易实现,复杂度极低。如果站点并发量很高,怕引起Session爆炸,则可以考虑三种做法:
    1、使用框架结构(Frame)数据全部保存在主框架(或叫做外框架页)页面中,在切换页面时,只切换子页面(一般就是IFrame页面了),不要动外框架页面;
    2、每次页面切换都用POST传递所有数据,但只能适用于数据量很低的情况;
    3、借助磁盘或数据库存储临时数据,这种做法允许用户甚至每天填一页(暂存),但有个清理的问题。
    一般推荐方案 1,这种方案不损耗Session,完全是消耗浏览器的内存而已。
      

  3.   

    看情况吧,数据库很小,可以放到session中,但记得提交到数据库后从session中把这些暂存的数据清掉。
    数据比较大也可以暂存到数据库的临时表里。
      

  4.   

    你也说了每一步表单数据都可能存在问题,那就每一步都提交到后台,做业务或者逻辑判断,没问题就放到session里,哪一步有问题session清掉,返回第一步,都没问题,最后一步取出所有值,session清掉,DAO操作就行了呗。