怎样在自己的项目在指定的时间里做一件事情?????

eeight 2008-07-15 05:57:56
在做一个在线考试系统,由管理员设置“开始考试”,
然后在2个小时后,系统自动提交所有学生的考卷,并统计分数,
这个功能该怎么实现????????????
我用的是tomcat+hibernate+structs.
...全文
109 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
奇点交易 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 java2000_net 的回复:]
当用户每次选择答案,或者离开了填写答案的文本框,则调用Ajax保存数据。

2小时候,自动停止答题就行了。
[/Quote]

老紫竹的方式很不错.
前面我说的是一次提交数据的方法中,容易造成通信风暴,造成服务器瞬间负担过重的情况,并且用户如果在答题过程中,有操作失误,导致浏览器关闭等情况发生,可能需要重新答题...
每道题进行分别提交的方式很不错,有效地减少了提交试卷时服务器瞬间的通信压力,还可以避免客户端数据丢失的情况.
即使客户端浏览器意外关闭,也可以使用户重新连接后可以继续答题.

建议楼主采用这种方式进行实现.

维护服务器与客户端中数据模型的一致性将是该系统中一个重要的任务.楼主的系统要不要与人合作呀~呵呵,申请加入!
chyx413332087 2008-07-16
  • 打赏
  • 举报
回复
up
mengweilil 2008-07-16
  • 打赏
  • 举报
回复
服务器端好办啊,做定时检查,到点儿了,喀嚓掉客户端的session,让他们强制退出就完了。

问题是,怎么让客户端到时间提交他们的结果啊。。。。。。

quartz只看了一眼,貌似对浏览器没用吧?
youjianbo_han_87 2008-07-16
  • 打赏
  • 举报
回复
楼主,推荐你去看看Quartz等排程方面的知识,完全可以解决你的问题,把你的tomcat+hibernate+struts改成jboss+hibernate+struts+spring,其实不用多久,你的程式会更加强大,速度去看,结贴散分
冰思雨 2008-07-16
  • 打赏
  • 举报
回复
我想系统应该分为 就绪,答题中,答题结束 这几个基本状态.
写一个Timer,让其2个小时以后开始执行,执行内容就是改变系统的当前状态.
当系统当前状态为 答题结束 时,所有请求的答题页面,(保存答题结果后)统一跳转到一个特定的响应页面,告诉答题者,答题时间已经结束了.

反正,答题页面应该有个机制,在开始答题的时候,客户端也要开始及时,当答题时间到时,提交答题结果.

以上是我的个人意见,仅供参考.
谢谢.
eeight 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 huiccsu525 的回复:]
用js控制时间,只要时间一到就自动关闭考试页页面,提交答案用ajax实现。。。
[/Quote]
JS调用的是客户端的时间,,,,
如果把客户机的时间改了那.............
huiccsu525 2008-07-16
  • 打赏
  • 举报
回复
用js控制时间,只要时间一到就自动关闭考试页页面,提交答案用ajax实现。。。
eeight 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 alloyer 的回复:]
这个问题挺有意思.
我首先想到的方法是ajax,使用javascript写一个定时器,每隔一段时间,向服务器请求一下,是否提交试卷?
直到两个小时,服务器允许提交试卷,客户端使用ajax技术,或form提交方式进行数据提交.

当然思路还不够详细,比如,安全方面,数据封闭方面,还有试卷如果有分页的情况下,怎么保持数据的方面等等,需要进行详细设计.
在这里抛砖了~
[/Quote]

这个不错。。。。。。。。。。。。。。
eeight 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 java2000_net 的回复:]
当用户每次选择答案,或者离开了填写答案的文本框,则调用Ajax保存数据。

2小时候,自动停止答题就行了。
[/Quote]

就是不知道该如何“自动停止答题”???
eeight 2008-07-15
  • 打赏
  • 举报
回复
为什么回复显示的是5,
可是打开后就1条回复????????????




到底该怎样实现啊????
要没这功能所有都白搭了,
主要就是自动阅卷和时间设置。。。。。。
老紫竹 2008-07-15
  • 打赏
  • 举报
回复
当用户每次选择答案,或者离开了填写答案的文本框,则调用Ajax保存数据。

2小时候,自动停止答题就行了。
老紫竹 2008-07-15
  • 打赏
  • 举报
回复
当用户每次选择答案,或者离开了填写答案的文本框,则调用Ajax保存数据。

2小时候,自动停止答题就行了。
奇点交易 2008-07-15
  • 打赏
  • 举报
回复
这个问题挺有意思.
我首先想到的方法是ajax,使用javascript写一个定时器,每隔一段时间,向服务器请求一下,是否提交试卷?
直到两个小时,服务器允许提交试卷,客户端使用ajax技术,或form提交方式进行数据提交.

当然思路还不够详细,比如,安全方面,数据封闭方面,还有试卷如果有分页的情况下,怎么保持数据的方面等等,需要进行详细设计.
在这里抛砖了~
laorer 2008-07-15
  • 打赏
  • 举报
回复
由管理员设置“开始考试”?

不知道用js来设置如何?或者随时保存,到了时间后,不再写入数据库中

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧