zoukankan      html  css  js  c++  java
  • 一个类似股票看板的自刷新页面的制作

    前一阵,有个基于JavaSwing的项目,由于使用不便利,需要移植到Web上。

    这个项目的基本功能是这样的,启动一批线程,每个线程访问指定地址一定次数,将每次是否成功,耗时等信息显示出来,最后做个统计。这个任务最终分给了我。

    我分析下,以下功能是可以直接拿来用的:

    1.访问固定网址的Servlet,获得反馈,解析出成果的代码。

    2.运行线程的代码。

    3.进行结果统计的代码。

    而以下功能是需要重新考虑的:

    1.以前SwingApp是单用户环境,现在Web是多用户环境。

    2.如果后台线程运行起来,前台该怎么取得后台的结果。

    我是这样去考虑的:

    用n个线程访问某网址m次是任务核心。

    一个任务由一个用户启动,它对应task表的一条记录,主要字段有id,启动者,线程个数,访问次数等。

    n个线程从属于一个任务,它对应thread表的一条记录,主要字段有id,pid(task表的id的外键),需要访问次数,已经访问次数,成功次数,失败次数,平均每次访问时间等。

    用户在前台启动任务后,后台负责处理的函数先启动任务即创建task表的记录,然后根据线程个数创建n条thread表的记录,然后创建n个线程访问固定网址取得结果,每次访问结果更新到thread表里的对应记录里,这里创建线程的步骤也是新启线程实现的,为的是异步运行不影响前台页面响应速度。

    前台页面进入新页面,新页面根据传来的值--一批线程id即thread表的id创建一个表格,表格里的行对应一条thread表的记录。

    遍历表格,拿到每行id再启动Ajax访问后台Thread表记录取得结果,分析需要访问次数和已经访问次数是否相等,否则调用自身再次访问,是则退出函数。

    为了提示用户进度,前台用一个定时函数取得表格里的需要访问次数和已经访问次数,统计后用进度条的方式提示用户。

    再思基本没有问题后,就做了下来,页面截图如下:

     

  • 相关阅读:
    蓝桥杯-最大子阵
    蓝桥杯-四平方和问题
    蓝桥杯-生日蜡烛
    蓝桥杯-三羊献瑞
    蓝桥杯-李白喝酒
    使用SSH远程管理时本地文件被修改了
    Total Commander基本配置及使用(整理)
    Linux下自己和自己用各种方法进行文件的上传下载
    idea搭建springcloud微服务框架
    将tomcat注册成服务(windows)、linux安装svn、docker、nginx、zipkin以及rabbitMQ教程
  • 原文地址:https://www.cnblogs.com/heyang78/p/4194942.html
Copyright © 2011-2022 走看看