费时的操作建议缓存一下,或者优化查询的sql或者数据库那边建视图。反正一定不能让用户等5分钟,就算5分钟能出来结果也不能这么做

解决方案 »

  1.   

    IE出现空白的可能性很多,我一时也不知道具体是什么原因
    可能是session超时,可能是ie长时间未响应缓存数据其实就是在访问这个页面之间就进行你的数据处理,把数据保存在内存中,比如HashMap中
    访问这个数据的时候只要多相应的内存位置度取数据,这样就能大大提高了速度
      

  2.   

    好像不行,前台的这个jsp上的数据必须要传给后台,后台根据这些数据调用存储过程来生成帐票数据,然后用生成的帐票数据来生成pdf,然后打印。整个过程是一个环节接一个环节的,好像不能分开来做,除非改设计了。现在主要想不让前台出现空白页,不知道有没有什么好的办法?
      

  3.   

    可以把整个过程分段处理,每处理一段就传给客户端一些信息,
    在传给客户端的信息中加入自动提交的信息,让服务端接着上次的处理结果进行
    处理,直到整个过程处理完成,只是不知道数据量到底有多大,能不能将阶段处理的
    结果存在session里
      

  4.   

    分段处理可能是一个解决办法,明天我试试看。不过,如果在server端调用存储过程耗时比较长,那该怎么办?
      

  5.   

    5分钟...
    这个也太慢了吧,
    调用存储过程耗时长的话应该改优化一下你的存储过程,
    还有,你是不对数据库的操作有死锁啊,怎么会这么慢呢?如果真的还是慢,可以试试这样,每次提交后给个ID,然后隔段时间再提交,看这个id的job完成没
      

  6.   

    > 如果真的还是慢,可以试试这样,每次提交后给个ID,然后隔段时间再提交,看这个id的job完成没
    具体怎么做?
    我现在是在Action中开了一个线程来做业务操作(存储过程调用,pdf生成什么的)。Action和页面上的自动提交对应。业务操作完成之后,会设一个flag,然后页面停止自动提交,显示业务操作的结果。
    不知道你说的方法具体是什么样的?另外,现在页面自动提交总是刷新页面,有没有好的方法解决?
      

  7.   

    可以在iframe中自动提交,这样主页面不会老是刷新
      

  8.   

    总是刷新页面的问题解决了,呵呵,用iframe。
      

  9.   

    解决了,在Action中开线程来做业务操作。
    有时间的话,我会将具体过程总结成文档后公开的。另外,还是不知道为什么IE过了5分钟就出现空白页呢?这个时间也不知道在哪里设置。:(今天已经提交了,如果没有什么意外的话,明天结贴。
    在此谢谢诸位了。