为了给用户良好的体验,长时间的处理过程最起码应该添加进度条,显示处理的百分比或者剩余时间。
本篇通过JavaScript和Servlet模拟进度条,其实现原理是每间隔一小段时间就异步访问服务器获取处理进度,然后局部刷新页面,直到处理完毕为止。
该进度条处理了各浏览器间差异,虽然在IE内核浏览器和非IE内核浏览器显示并不完全相同,但并不影响使用。
该代码并非完全原创,原来在项目中应用进度条时从网上搜到了改代码的前身,好像一本ajax的书中也有类似的源代码。本篇中的代码是原代码的改进版。
创建的web工程需要的jar文件包括:jstl.jar、standard.jar、javax.servlet.jar。
1.WebRoot下创建jsp页面progress.jsp,代码如下: