页面从数据库读取数据并分页显示用户要从页面下载全部数据,下载格式为csv我现在的做法是把数据从数据库读取出来写成csv文件然后给用户下载。这样数据量很大的话,速度很慢。有时候会timeout。
有没有别的好办法?

解决方案 »

  1.   

    504 Gateway Time-outnginx/0.7.66
      

  2.   

    你是先生成这个csv文件先,还是边生成边下载呢?
      

  3.   

    先生成文件再下载。不过是一个servlet请求完成
      

  4.   

    页面展现不超时。。
    我现在的做法是把数据从数据库读取出来写成csv文件然后给用户下载。
    这一步我在一个servlet里完成的。好像应该分开吧?
    先写文件,等文件写好了再让用户下载?这样的话好麻烦。文件不知道什么时候才能写好,还要在页面搞个ajax不停地过来查看有没有写好。
      

  5.   

    边写边下载不行吗?你的csv咋样写?apache吗?直接把内容写到servlet的输出流?
      

  6.   

    关键你的CSV文件咋生成?
    你生成csv肯定有个输出流?
    就设置servlet的下载头.
    取到response输出流.
    把你csv的输出流写到response输出流.
    就可以实现拉.
      

  7.   

    1 设置session的时间 可以在web.xml中设置
    2 导出文件的时候可以用多线程进行导出,一次开多个线程进行异步操作