问题需求描述:
在客户端浏览器中通过点击一个按钮,进行了AJAX异步请求提交操作,而后台使用的是Servlet进行请求响应。众所周知,一个Http请求通过使用Servlet处理即实现一个响应过程。但本人想要达到的目的是希望后台能够根据处理的进度,不断的对前端给予信息提示直至完成。具体描述如,由于要备份日志表(数据量大,故已按天划分),前台提供了一个时间范围,比如用户指定了10天的日志需要进行备份,他点击按钮就能达到他的目的,对于具体的处理操作对于用户来说应该是透明的。而本人则希望在后台能够针对这10天进行百分比划分,完成一天则发送消息(本人的方法是组装XML格式文件)至前台(解析获取相关信息):能够使用户能够客观的感觉到"10%->20%->...->90%->全部完成"的这个过程。但经本人理论和实践相结合证明,HTTP的一次请求只能被响应一次,而在下希望能够按照上述的要求实现多次响应。
还望各位高手不吝赐教!如果有其他可以实现的方式,也欢迎拍砖!谢谢!!

解决方案 »

  1.   

    把ajax的请求放到一个循环中怎么样 循环改变进度条
    完成时才跳出
      

  2.   

    需要两个ajax请求,一个发送处理请求。另一个不停的去刷结果。结果由第一servlet写文件也好写数据库也好。第二个ajax不停的去读然后再显示。
    一个请求没法子弄,
      

  3.   

    ...没做过啊 只能帮LZ顶顶了 不过crazylaa说的很有道理哦 你可以先请求一次 将第一次请求作为开始 一但请求开始 应该保存个类似标记的东西 往后再请求的时候如果上一次请求要完成的事情没有做完 则返回进度 总之加油吧.
      

  4.   

    每天回帖即可获得10分可用分!
    如果是ajax那好办了。
    java侧封装在head里,然后客户端再从头里取出,
    更改状态码是不对的。
      

  5.   

    在一次请求中,向浏览器响应多次,后面的响应内容后不会覆盖前面的,用PrintWriter对象写入响应内容。