日期:2014-05-18  浏览次数:20644 次

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

------解决方案--------------------
直接在页面中用js控制就可以了。
包括时间也用js读取服务器。
------解决方案--------------------
在服务器数据库中应该对每次考试有记录吧。记录应该有“开始时间”和“结束时间”字段,值取服务器上的时间。

在对答题记录进行处理时,先检测开始与结束时间差,超过30分钟的不处理。

在页面里注明用户超过30分钟后提交不记成绩。

然后页面里用JS控制,30分钟后提交。

如果用户修改页面的JS控制,得到更多的答题时间,也是无效的。

如果对答题的处理是在提交时即时发生而不是过后统一处理的,那么可以在进行评卷前来计算两个字段的时间差(一个是开始答卷时记录的,一个是当前获取的)。
------解决方案--------------------
好像有个设定多久刷一次页面的机制,设定为30分钟刷一次,刷新时在页面上用java 脚本判断一下,如果用户时间到了30分钟就提交,没有就不做任何操作。
------解决方案--------------------
呵呵。。。。试试下边的方法,是否可行,将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 " >

---------------------------------------------