一个java(MVC)在线考试系统,答卷页面(30分钟),30分钟内答卷者可以自己手动提交,到30分钟服务器自动提交到显示分数页面。要求运用服务器时间计时。本人想法:利用timer在服务器端计时(已经实现),可到时间如何跳转到新页面呢?如何在java文件(timer计时器)中实现跳转到servlet呢?

解决方案 »

  1.   

    直接在页面中用js控制就可以了。
    包括时间也用js读取服务器。
      

  2.   

    不让用啊,客户要求就是我说的这样,ajax读是方便。
      

  3.   

    在服务器数据库中应该对每次考试有记录吧。记录应该有“开始时间”和“结束时间”字段,值取服务器上的时间。在对答题记录进行处理时,先检测开始与结束时间差,超过30分钟的不处理。在页面里注明用户超过30分钟后提交不记成绩。然后页面里用JS控制,30分钟后提交。如果用户修改页面的JS控制,得到更多的答题时间,也是无效的。如果对答题的处理是在提交时即时发生而不是过后统一处理的,那么可以在进行评卷前来计算两个字段的时间差(一个是开始答卷时记录的,一个是当前获取的)。
      

  4.   

    好像有个设定多久刷一次页面的机制,设定为30分钟刷一次,刷新时在页面上用java 脚本判断一下,如果用户时间到了30分钟就提交,没有就不做任何操作。
      

  5.   

    呵呵。试试下边的方法,是否可行,将URL修改成你的servlet即可。
    要给分啊!!!!!!!!!!!!!!!---------------------------------------------------------------------------------每隔三分钟,就重新加载此网页:
    response.setIntHeader("Refresh" , 180)
    如果想要过十秒后,调用浏览器转到http://Server/Path 的网页时,可用如下代码:
    response.setHeader("Refresh","10; URL=http://Server/Path" )
    如果大家对HTML 语法还熟悉,则HTML 语法中也有类似的功能:
    <META HTTP-EQUIV="Refresh" CONTENT=" 10; URL=http://Server/Path" >---------------------------------------------------------------------------------
      

  6.   

                显示时间timer 用js写即可