基本思路:

1. 操作状态在类中以静态变量方式(或公共类存储公共变量方式,SESSION方式、COOKIE方式)存在

2. 前台采用AJAX方式激发后台进行业务逻辑操作,并实时更新操作状态信息

3. 前台定时取后台操作状态并显示

4. 在获取最后操作结果后结束定时器

示例:

1. 前台采用进度条方式进行显示,定义如下

<div id="progressbarShow" data-toggle="topjui-progressbar"></div>

2. 后台设置操作状态,以静态变量方式为例

private static int value = 0;
private static String msg = "";

3. 后台业务逻辑实时更新操作状态,如

private String test() {
//重置操作状态
value = 0;
msg = "reading"; // 设置操作返回值
JSONObject jsonObject = new JSONObject();
jsonObject.put("title", "提示信息"); try {
//循环业务逻辑代码;
value = *****;
   msg = ******;
//循环任务结束
jsonObject.put("statusCode", 200);
jsonObject.put("message", "操作成功");
} catch (InterruptedException e) {
e.printStackTrace();
jsonObject.put("statusCode", 300);
jsonObject.put("message", "操作失败");
} return jsonObject.toString();
}

4. 后台实时监控方法,如

    private String checkStatus() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("value", value);
jsonObject.put("msg", msg);
return jsonObject.toString();
}

5. 前台调用并实时监控,如

    // 设置定时器
var testTimer;
// 关闭定时器
clearInterval(testTimer);
// 开启定时器实时监控
testTimer = setInterval(function(){
loadProcess();
}, 500);
// 实时监控程序
function loadProcess(){
$.getJSON("indexHandle.jsp?flags=checkStatus", function (data) {
$('#progressbarShow').iProgressbar('setValue', data.value);
});
}
// 激发后台业务逻辑处理
$.getJSON("indexHandle.jsp?flags=test", function (data) {
if(data.statusCode){
// 操作成功后相关处理
} else {
// 操作失败后相关处理
}
// 重置进度条状态
$('#progressbarShow').iProgressbar('setValue',0);
// 关闭定时器
clearInterval(testTimer);
});

JAVA WEB 前台实时监控后台程序运行的更多相关文章

  1. java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

    首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开 ...

  2. 远程监控 – 应用程序运行状况测量 CSF 博客

    在远程监控基础知识和故障排除中,我们探讨了 Windows Azure 平台提供的基础指标.信息源.工具和脚本,介绍了有关监控和应用程序运行状况的基本原则.我们演示了如何利用这些基本原则对在 Wind ...

  3. Java之Property-统获取一个应用程序运行的次数

    package FileDemo; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  4. 全网最详细的IDEA、Eclipse和MyEclipse之间于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

    不多说,直接上干货! IDEA [适合公司业务]全网最详细的IDEA里如何正确新建[普通或者Maven]的Java web项目并发布到Tomcat上运行成功[博主强烈推荐](类似eclipse里同一个 ...

  5. 全网最详细的Eclipse和MyEclipse里对于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 全网最详细的MyEclipse里如何正确新建普通的Java web项目并发 ...

  6. JAVA Web从前端到后台常用框架介绍

    原博客:https://blog.csdn.net/u013142781/article/details/50922010 一.SpringMVC http://blog.csdn.net/evank ...

  7. java web项目发生异常依然能运行

    由于JavaWeb应用业务逻辑的复杂性,容易发生一些意想不到的错误和异常,给系统的调试带来不必要的麻烦,不友好的提示信息使编程者对错误和异常无从下手.特别是当发生异常时,Java异常栈输出的信息只能给 ...

  8. GCD之后台程序运行

    点击Home键进入后台时进行计时,直到从新启动,超过三分钟启动手势 // // AppDelegate.m // GCDDown // // Created by City--Online on 15 ...

  9. java+selenium打开浏览器实现后台静默运行

    简介:java selenium搭建无界面浏览器 PhantomJS是一个基于Webkit的"无界面"(headless)浏览器,它会把网站加载到内存并执行页面上的JavaScri ...

随机推荐

  1. ArcGISPlotSilverlightAPI For WPF

    这两天有个需求,在地图上做标绘箭头,效果如下图. Arcgis for WPF 10.2.5.0版本,然而官方文档中没有这种API,自己去写一个呢,又感觉无从下手.无奈去网上搜索了一下,发现一篇好文: ...

  2. Android 图文混排 通过webview实现并实现点击图片

    在一个开源项目看到是用的webview 实现的 1. 这是在asset中的一个模板html <html> <head> <title>News Detail< ...

  3. 自学git心得-5

    标签管理也是git里面比较重要的一部分内容,我们下载软件的时候经常看到诸如v2.0.v2.3.0这样的版本号,在git里也是一样,有时为了避免分支的名称五花八门而发生混淆的情况,我们常常会 给分支贴上 ...

  4. 关于jrebel碰到的一次问题记录

    今天使用jrebel更新gitlab的代码之后,项目总是启动报错.报一个类找不到,但是这个类在整个目录下搜索不到,在target的class目录看了下也没有对应的目录.郁闷了好久,最后同事看了下,在整 ...

  5. ubuntu16下面安装vmware tools后仍然未全屏问题

    1.默认下载ubuntu16的iso镜像后,自带的有vmtools.解压 tar -xzvf  VMwareTools-10.0.6-3595377.tar.gz 进入解压目录. 执行:sudo ./ ...

  6. mysql那些招

    show table status mysql官方文档在 http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html 这里的rows行是 ...

  7. 随手记C#资料

    1.where T: new()where后的称为泛型约束,这里约束泛型参数T必须具有无参的构造函数 2.判断路径是本地路径还是网址 private static bool IsLocalPath(s ...

  8. 计算机应用基础教程作业flash动画 车辆工程 冯大昕

  9. 真实世界中的 Swift 性能优化

    那么有什么因素会导致代码运行缓慢呢?当您在编写代码并选择架构的时候,深刻认识到这些架构所带来的影响是非常重要的.我将首先谈一谈:如何理解内联.动态调度与静态调度之间的权衡,以及相关结构是如何分配内存的 ...

  10. 【bbs】index、post

    列表 奇数行和偶数行设置不同的背景 http://blog.csdn.net/facecrazy/article/details/51252850 实现ul li中的内容上下左右居中,不用设置li宽度 ...