JSP进度条

是否有一种在JSP中实现进度条的非常简单的方法。 基本上我有一个JSP页面去调用一个方法的servlet,现在这个过程将运行很长时间,我想指出进度的状态,就像在eclipse任务栏中显示的进度条一样当我们执行任何Java程序时。

我在这里找到了一个很好的教程http://onjava.com/pub/a/onjava/2003/06/11/jsp_progressbars.html,但它似乎没什么过时的。

有没有什么新的和简单的方法来实现这一点?


一旦进入细节,确定特定任务的进度是一件令人惊讶的复杂事情。 你如何确定例如你完成了50%? 如果最后10%的任务占用了总时间的1/2,会发生什么情况?

通常对于一个网络应用程序,如果你想要进度条,那么去AJAX路线是最好的,因为上面提到的一些海报。 我发现,但是,在网络上,它适用于指明的事情正在发生的用户。 当页面被提交时,只需让某个微调器可见,然后在呈现时再次隐藏( 请参阅此处 )。 这很容易实现,不会造成额外的性能下降,并且表明某种进展


例如jQuery有很多解决方案。

您可以使用带有Ajax的Jquery来更新进度栏:

http://jqueryui.com/demos/progressbar/


在我看来,当你调用你的jsp时,它应该立即返回给用户,同时也表明一些复杂的任务正在后台处理(例如使用加载微调器)。 如果您想知道任务的进度,您应该使用Ajax轮询或Comet push来从服务器检索它。 为了获得并展示进度,我认为Ajax已经足够,Comet可能会有点矫枉过正。 以下是关于Ajax方法的更多信息:

http://en.wikipedia.org/wiki/Ajax_(programming)

更多关于你的问题,一个servlet(也是一个jsp)根据HTTP协议工作,该协议基于request-> response模型。 在今天的世界中,很少有站点需要去jsp来完成一项复杂的任务,然后在请求完成的时候你不得不坐在什么都不做的地方。 您可能希望在用户的请求在后台处理时自由地继续与您的Web应用程序/网站进行交互。

链接地址: http://www.djcxy.com/p/52471.html

上一篇: JSP Progress Bar

下一篇: iOS: How to send key to UITextField?