我的評論
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
然后,你把這個線程的句柄,也就是對象的引用,放在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
不知道你對cocoon了解多少,我最近也在研究xml和java,有空來我家坐坐?大家交流一下
http://www.aygfsteel.com/lqsun/archive/2005/03/10/1911.html
http://www.aygfsteel.com/lqsun/archive/2005/03/10/1911.html