2 j ruby J_Ruby 于 2016.03.08 23:38 提问

如何用java在后台页面开发一个计时器

主要用于考试系统计时,时间结束,页面自动提交到服务器求各位大神帮忙讲一下,我是一个初学者,谢谢大家了!

6个回答

dcxy0
dcxy0   Ds   Rxr 2016.03.09 09:46
已采纳

直接前台获取js的倒计时就可以了,但是保险一点的话,后台也可以同时计时,通知前台自动提交试卷。

caozhy
caozhy   Ds   Rxr 2016.03.08 23:59

客户端轮询服务器时间,到点提交就可以了。

Royal_lr
Royal_lr   Ds   Rxr 2016.03.09 11:43

用JS做定时器就行了

 var s = 59;//用来记录秒,因为需求是从59开始的。 
    var m = residueTime-1;//用来记录分钟  
    var w = setInterval(function() {
        s--;
        if (s == -1) {//当秒减到0时,分钟减1,秒钟从60开始。         
                m--;
                s = 59;
            }
            span.innerHTML = m + ":" + (s < 10 ? "0" + s : s); //显示时间(秒小于10时,前补0)      
            /* if (m % 2 == 0 && s == 0 && m > 0) {
                //保存答题结果和时间
                submitExam(m,"1");
            } */
            if (s % 30 == 0 ) {
                //保存答题结果和时间
                submitExam(m,"1");
            }
            if (m == 0 && s == 0) { //提交试卷
                submitExam(m,"2");
            } //到过5分钟时停止 
            if(m < 0){
                submitExam(m,"2");
            }
        }, 1000);
qq_20125323
qq_20125323   2016.03.09 14:57

服务器端 记录答题者开始答题动作 服务器时间。客户端 js 定时。提交后 根据服务提交时间 与开始时间比较。看有没“开挂”。

qq_20039385
qq_20039385   2016.03.09 09:20

用js做个计时器,时间到了就发送请求到后台,后台实现具体的业务就可以啦。
js倒计时百度下好多现成的代码。

curry_du
curry_du   2016.03.09 10:40

如果用java语言,可以用 java.util.Timer 这个类。
大概代码如下:

 public class TimerTest {
    public static void main(String[] args){
        Timer timer=new Timer();
        Date firstTime=new Date();
        long period=5000;     //5s
        timer.schedule(new MyTask(), firstTime, period);
        //schedule有几个不同的重载方法
        while(true){
            Scanner scan=new Scanner(System.in);
            String flag=scan.nextLine();
            if("exit".equals(flag)){
                timer.cancel();
                break;
            }
        }
    }
}
class MyTask extends java.util.TimerTask{

    @Override
    public void run() {
        // TODO Auto-generated method stub
        //你要执行的任务
        System.out.println("action--"+new Date());
    }
}

时间到了,通知前台。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
用java编写的计时器
用java编写的计时器,非常简单额,……
使用JAVA编写一个计时器
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;public class ReturnTime extends Frame {    /**     *      */    private static final long serialVersionUID = 1L;   
swift 计时器进入后台后计时问题
自己用swift 写了个计时器,每当app切换后台的时候软件就会暂停,若自己申请后台,则由苹果管理,无法准确计时。 我搜索网上的文章,获得了解决方法。以下是我的解决过程 实现方法: 1.用Notification注册通知 可写在ViewDidLoad里面,我写在了isCounting的计算型属性里面,当停止计时时,清除事件监听,开始计时时注册监听 //监测进入后台Notifica
用c++编写计时器的步骤及其函数代码
用c++语言编写计时器 编写过程中用到的函数: 一、void gotoxy(int x,int y)和void hoidden()函数: 1:所需的头文件include include 2:功能:将控制台光标定位在(x.y)处。 隐藏控制台光标. 3:具体实现: void gotoxy(int x, int y)//定位光标,x为行坐标,y为列坐标 {  COORD pos =
一个简单的java秒表java计时器,用java语言写的,android开发
下面是一个实例,我吧主要的代码都放在这里了,可以看下: public static Runnable refreshRunnable = new Runnable() { @Override public void run() { // TODO Auto-generated method stub currentTime = new Date(System.curre
用Flash制作任意时间的倒计时器
手把手教你用Flash制作任意时间的倒计时器,内附图片说明,简单易学。
一个简单的进程计时器
超时太常用了, 下面来写一个进程计时器, 并用它来做超时限制 #include #include #include using namespace std; // 计时器 long getTime() { static int flag = 1; static long firstTime = 0; if(1 == flag) { firstTime = time(NU
Java计时器Timer的使用!...
import javax.swing.JFrame; import javax.swing.Timer; import java.awt.event.ActionListener; import java.awt.event.ActionEvent;   public class MyFrame {          public static void main(String[]
java秒表/计时器实现
使用java.util.Timer;java.util.TimerTask类 /*date:2013/06/13 * author:idevcod@163.com * */ import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.
如何利用多线程写一个简单的定时器?
先来看一个简单的程序, 实现一个定时器来定时调用test函数: #include #include using namespace std; void test() { cout << "test" << endl; } DWORD WINAPI ThreadFun(LPVOID pM) { int timeVal = *(int *)pM; int start = 0; whi