re: B/S结构程序等待查询结果超时问题 Boris-Java 2005-03-15 17:26
首先,你要处理的很长很长的业务需要写在一个单独的线程当中。
然后,你把这个线程的句柄,也就是对象的引用,放在session中,或者什么别的地方,随便你
然后,处理程序返回到一个进度条页面,这个进度条页面是可以自动刷新的。每次的刷新提交到一个程序,比如一个servlet或者action,这个程序当然可以取出session中的线程阿,然后,返回线程执行了多少,有没有出错什么的,返回到进度条页面,页面根据返回结果显示,问题解决了^_^
当然,我相信你在做这个的时候也会遇到几个问题,第一个就是如果用户关闭页面怎么办,一种就是不管它,关闭了线程照样跑,另外一种比较友好的嘛提示一下,或者干脆不让用户关闭这个窗口(就是关闭的时候重新打开,呵呵,黑哦)
第二个问题就是“取消”的问题,一般都会提供取消按钮的,这个取消按钮的程序是可以做的,只要取出线程“打断”就可以了,但是要注意一些事情,就是在线程当中遇到的资源可能不会被自动的关闭,最好还是手工关闭为好!
这种事情我干过好多次了!呵呵,其实B/S和C/S在这个问题上是一样的,只不过C/S可能方便一点,试想如果C/S当中你不用线程的机制,页面一样会出现“假死”的现象阿,有什么问题再联系我吧!
lqsun@mail.sportscn.com
re: B/S结构程序等待查询结果超时问题 Boris-Java 2005-03-14 14:30
B/S也可以跑进度条啊,又不是只有C/S可以有后台线程
re: XSL:转换从哪里开始? Boris-Java 2005-03-10 16:21