一个jsp后台的运算比较耗时
如果进入该弹出jsp后30秒后运算因故仍未完成
会用提示用户超时的页面填充该页面而非显示正常页面
如何用线程实现呢
谢谢 思路是
在因webservice call运算时间较长的a.jsp开头
在session里设一个Boolean的值,比如false
在最后的sendRedirect(c.jsp)之前
在session里设true 关键问题在于如果新开一个thread
在thread中sleep(30*100)
sleep后看session中的boolean值
来是否决定去error页面 但是问题出现
1 该thread如何能sendRedirect或forward到一个页面?
是否要继承Servlet
2 如果已经到了出错页面
后台的费时操作进行完了
运算出来的结果还不能再次填充出错页面出来
所以有必要把进行操作的jsp线程给stop掉
因为这里的操作是写在jsp而非servlet里的
但是现在Thread好像不能stop掉 所以有问题
期盼大牛指点
谢谢
如果进入该弹出jsp后30秒后运算因故仍未完成
会用提示用户超时的页面填充该页面而非显示正常页面
如何用线程实现呢
谢谢 思路是
在因webservice call运算时间较长的a.jsp开头
在session里设一个Boolean的值,比如false
在最后的sendRedirect(c.jsp)之前
在session里设true 关键问题在于如果新开一个thread
在thread中sleep(30*100)
sleep后看session中的boolean值
来是否决定去error页面 但是问题出现
1 该thread如何能sendRedirect或forward到一个页面?
是否要继承Servlet
2 如果已经到了出错页面
后台的费时操作进行完了
运算出来的结果还不能再次填充出错页面出来
所以有必要把进行操作的jsp线程给stop掉
因为这里的操作是写在jsp而非servlet里的
但是现在Thread好像不能stop掉 所以有问题
期盼大牛指点
谢谢
如果真要在jsp里面调用的话,又不想等太长的时间,其实没必要这么麻烦。如果用axis做客户端,call里面有个setTimeout方法,设置超时时间,然后再在jsp捕获超时异常,应该实现起来简单一点吧。
谢谢您的回复
的确是axis webservice call
看了您的回复深受启发
我去看看Call的参数
因为我是axis的新手
只是把功能实现了
具体怎么实现的还没有仔细看还有个问题是该jsp页面调用了3~4个axis call
而用户的需求是总体上超时30秒显示出错页面
这个怎么个处理法比较好呢?