『壹』 java在线考试系统的考试界面要个时间限制,怎么弄(jsp)
jsp页面做一个倒计时的提示就可以控制时间了。
实现方法如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<div id="showTimes"></div>
<%
long current_time=System.currentTimeMillis();
long end_time=1337875200000l;
long time=end_time-current_time;
%>
<script>
var second = <%= time / 1000%>; // 剩余秒数
// 写一个方法,将秒数专为天数
var toDays = function(){
var s = second % 60; // 秒
var mi = (second - s) / 60 % 60; // 分钟
var h = ((second - s) / 60 - mi ) / 60 % 24; // 小时
var d = (((second - s) / 60 - mi ) / 60 - h ) / 24 // 天
return "剩余:" + d + "天" + h + "小时" + mi + "分钟" + s + "秒";
}
//然后写一个定时器
window.setInterval(function(){
second --;
document.getElementById("showTimes").innerHTML = toDays ();
}, 1000);
</script>
『贰』 jsp考试系统 如何在试题页面实现上一题 下一题选择 请具体说明
可以弄一个超链接。查询数据库的时候每页只显示一条记录,点击超链接“上一题”“下一题”时可以读取上、下一条记录。
需要先求出一共有多少条记录,并设置每页显示多少条记录。
int pageSize=1,pageCount=0,rowCount=0,pageNow=1;
String pageNow_n=request.getParameter("pageNow");
if(pageNow_n!=null)
{
pageNow=Integer.parseInt(pageNow_n);
}
try
{
String sql3="select count(*) from 表名";
pstm=conn.prepareStatement(sql3);
rs=pstm.executeQuery();
if(rs.next())
{rowCount=rs.getInt(1);}
if(rowCount%pageSize==0)
{pageCount=rowCount/pageSize;}
else{pageCount=rowCount/pageSize+1;}
String sql2="select * from 表名limit ?,?";
pstm=conn.prepareStatement(sql2);
pstm.setInt(1,(pageNow-1)*pageSize);
pstm.setInt(2,pageSize);
rs=pstm.executeQuery();
}
catch(Exception e)
{
e.printStackTrace();
}
while(rs.next()){%>
<tr>
显示查询的内容<%}%>
<%if(rs.next()){%>
<%if(pageNow!=1){
%>
<a href="页面名.jsp?pageNow=<%=pageNow-1%>">上一题</a>
<%}
if(pageNow!=pageCount){
%>
<a href="页面名.jsp?pageNow=<%=pageNow+1%>">下一题</a>
<% }%>
『叁』 请教jsp在线考试系统问题
1.考勤这块你是不是要做一个考试纪律的问题?比如考试开始15分钟不准答题,结束前30分钟不许交卷?这个可以试试用Quartz来实现。按时交卷可以用JavaScript的setTimeOut来实现.
2.全半角字符是不是在录入或导入试题的时候,判断数据库中是不是有这道题?
避免出现重复题情况。这个可以用lucene加上庖丁解牛分词包来实现。
3.随即出题随即出题,你首先要保证题目数要足够,比如要出struts科目下面的题40道,数据库中至少要有40道,否则就会出现重复题。然后写一个算法,来判断本科目下要选出几道题,和其他科目的题一起组成试卷。如果题库中struts有40道,我要出30道,hibernate再出10道,一起组成一张试卷。在struts出题的时候我只要筛选出10道题就可以了。这只是一个小算法,来提高效率。保证不发生重复,我想了一个办法。把要出科目的题目编号都查找出来,放到一个list,生成一个随机数,选取一道题目,然后再在list中把相应的编号移除。直到找够题目。这是我的做法,肯定还有更好的,有待发掘。
我曾经做过一个在线考试系统,不是很成功。