在线测试,如何保存前页测试答案? 比如,做一个在线测试的网站,每页测试5道题,共50道题,需要测10页,如何保存上一页用户测试的结果,在用户测试完50道题后,统一提交计算成绩?1、存数据库?如果用户中途放弃答题怎么办?2、放session?在线人数很多时,会不会增加服务器负担?谢谢:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果这样的话,那用session也无妨 我也是个初学者,和你们学习一下,不过提个小意见,写cookie会不会比写session省资源呢 首先谢谢二位。一位朋友提议用数据库存储每页的试题答案,然后写一个数据库的job,定时去清理那些没有完成答卷或者session超时的用户的答卷诸位以为如何? 楼上,hidden是否过于复杂?用hidden保存每一个页面的答案? dreamover(梦醒了) ( ) 信誉:100 <input type="hidden">======================================个人觉得可行 存下结果 ! 谢谢各位了!另外有一个与在线测试相关的问题:如何控制测试时间?如果是通过javascript来控制的话,客户刷新怎么处理?是否有更好的办法? hidden复杂?java.util.Map results = request.getParameterMap();for(Object key:results.keySet()){ out.println("<input type=\"hidden\" name=\""+key+"\" value=\""+results.get(key)+"\">");}//里面有同名多选项的话,需要修改一下代码这不比每页操作数据库简单?而且不用担心在数据库中产生垃圾数据,还要清理 谢谢各位了!另外有一个与在线测试相关的问题:如何控制测试时间?如果是通过javascript来控制的话,客户刷新怎么处理?是否有更好的办法?=======================================这个可以用session+javascript处理用session记录开始时间session.setAttribute("begintime",new Date());<script type="text/javascript">leavetime=60*60*1000-<%=(new Date() - session.getAttribute("begintime"))%>;//60是考试时间,然后减去考生已用的时间//当然实际代码不能这么写,我只是表达一下大体意思setTimeout("交卷函数()",leavetime);//复杂点,还可以加上提醒功能</script> to dreamover(梦醒了) ----------------------------------hidden复杂?java.util.Map results = request.getParameterMap();for(Object key:results.keySet()){out.println("<input type=\"hidden\" name=\""+key+"\" value=\""+results.get(key)+"\">");}//里面有同名多选项的话,需要修改一下代码-----------------------------------------------------------------------------个人也比较倾向于这个方法,谢谢! 实体类插入list问题 request.getParamegter("");得到值以后中文乱码怎么解决? org.apache.commons.dbcp.SQLNestedException 会SWF的请进 怎样取得满足条件的当前行...急~~~~~~~~~ response.sendRedirect 转向问题 找错误!!! jsp中的代码写到javabean中去出错了,请帮忙看看! 如何使用ant 从cvs上 checkout资料 ireport 5.1 结合struts2 导出rtf文件不完整,pdf、excel没问题 关于下载方式问题 配置SERVLET,急需老师近来帮忙!
一位朋友提议用数据库存储每页的试题答案,
然后写一个数据库的job,
定时去清理那些没有完成答卷或者session超时的用户的答卷诸位以为如何?
用hidden保存每一个页面的答案?
<input type="hidden">
======================================
个人觉得可行 存下结果 !
另外有一个与在线测试相关的问题:
如何控制测试时间?
如果是通过javascript来控制的话,客户刷新怎么处理?
是否有更好的办法?
java.util.Map results = request.getParameterMap();
for(Object key:results.keySet()){
out.println("<input type=\"hidden\" name=\""+key+"\" value=\""+results.get(key)+"\">");
}//里面有同名多选项的话,需要修改一下代码这不比每页操作数据库简单?而且不用担心在数据库中产生垃圾数据,还要清理
另外有一个与在线测试相关的问题:
如何控制测试时间?
如果是通过javascript来控制的话,客户刷新怎么处理?
是否有更好的办法?=======================================这个可以用session+javascript处理用session记录开始时间
session.setAttribute("begintime",new Date());<script type="text/javascript">
leavetime=60*60*1000-<%=(new Date() - session.getAttribute("begintime"))%>;
//60是考试时间,然后减去考生已用的时间
//当然实际代码不能这么写,我只是表达一下大体意思setTimeout("交卷函数()",leavetime);
//复杂点,还可以加上提醒功能
</script>
----------------------------------
hidden复杂?
java.util.Map results = request.getParameterMap();
for(Object key:results.keySet()){
out.println("<input type=\"hidden\" name=\""+key+"\" value=\""+results.get(key)+"\">");
}//里面有同名多选项的话,需要修改一下代码
-----------------------------------------------------------------------------
个人也比较倾向于这个方法,谢谢!