后台能System.out.println 能输出上传进度。。
但是要怎么才能传到页面呢?因为页面上已经有一个ajax在进入上传的servlet,我把进度存到Session里面去了。
我现在又写了个ajax访问另一个servlet 读取Session里面存的进度。。 还是实现不了谁有什么好的方法或者解决方案
但是要怎么才能传到页面呢?因为页面上已经有一个ajax在进入上传的servlet,我把进度存到Session里面去了。
我现在又写了个ajax访问另一个servlet 读取Session里面存的进度。。 还是实现不了谁有什么好的方法或者解决方案
意思是:没num/1000秒调用你异步请求的js程序,这样就可以动态获得后台的进度了。
这个请求的Callback这样写(伪代码)
if(currProgress!=100%){
//上传未完成继续获得当前进度
getCurrProgress();
alert(currProgress);
}else{
//上传完成
}服务器端代码:
//返回currProgress的Servlet
while(session.getAttribute("currProgress")==null)
{
lock.wait();//等待Session中数据更新
)
out.write(session.getAttribute("currProgress");
out.flush();
session.removeAttribute("currProgress");//更新Session中的currProgress的Servlet
session.setAttribute("currProgress","XX%");
lock.notify();//唤醒返回currProgress的Servlet写的不是很详细 不知道你明白没有