Bootstrap

java ee web页面进度条实现

背景
有些操作花费的时间会比较长,常见的有,批量操作,批量上传/下载等,进度条能很大程度的提升用户的体验。但是作为B-S架构的web程序该如何实现呢?

思路:先定义一个进度统计器,通过redis来缓存进度数据,web页面通过轮训的方式获得事件的进度。

代码实现,进度器设计

@Data
public class Progress {
    /**
     * 进度,1-100
     */
    private Integer count;
    /**
     * 是否成功
     */
    private Boolean success;
}

操作进度器

@RequestMapping("/")
@RestController
public class ProgressController {
    @RequestMapping("/progress")
    public Object progress() {
        Progress progress = new Progress();
        // fixme  查询
        return progress;
    }

}
;