package com.hs.action;
import java.sql.SQLException;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.hs.actionForm.ExamForm;
import com.hs.dao.StartExamDAO;
import com.hs.core.*;
public class StartExam extends Action
{
private StartExamDAO startExamDAO=null;
private ChStr chStr=new ChStr();
public StartExam()
{
this.startExamDAO=new StartExamDAO();
}
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
String action=request.getParameter("action");
HttpSession session=request.getSession();
if("startExam".equals(action))
{
try
{
ExamForm examForm=(ExamForm)form;
int examTime=startExamDAO.getExamTime(examForm.getType());
session.setAttribute("examTime", examTime);
String student=session.getAttribute("student").toString();
float ret=startExamDAO.examResult(examForm.getType(), student);
if(ret>0)
{
request.setAttribute("dealNull","您已经考过此门科目,请重新选择科目或直接关闭窗口结束考试!" );
return mapping.findForward("dealNull");
}
else
return startExam(mapping,form,request,response);
}
catch (SQLException e)
{
e.printStackTrace();
}
}
else if("showStartTime".equals(action))
{
return showStartTime(mapping,form,request,response);
}
else if("showRemainTime".equals(action))
{
return showRemainTime(mapping,form,request,response);
}
else if("submitTestPaper".equals(action))
{
return submitTestPaper(mapping,form,request,response);
//return mapping.findForward("dealNull");
}
request.setAttribute("dealNull", "系统出错或者您的操作有误!");
return mapping.findForward("dealNull");
}
private ActionForward submitTestPaper(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response)
{
HttpSession session=request.getSession();
String student=session.getAttribute("student").toString();
ExamForm examForm=(ExamForm) form;
String type=session.getAttribute("type").toString();
String rightAnswer;
float mark=0;
String[] answer=examForm.getAnswerArr();
int[] id=examForm.getIdArr();
float everyMark=100/answer.length;
for(int i=0;i<answer.length;i++)
{
rightAnswer=startExamDAO.getRightAnswer(id[i], type);
if(rightAnswer.equals(answer[i]))
{
mark=mark+everyMark;
}
}
int ret=startExamDAO.saveResult(student,type,mark);
if(ret>0)
{
request.setAttribute("submitTestPaperOK", "试卷已经提交,您本次考试的成绩为:"+Math.round(mark)+"分");
return mapping.findForward("submitTestPaperOK");
}
else
{
request.setAttribute("dealNull", "提交试卷出错!请和管理员联系!");
return mapping.findForward("dealNull");
}
}
private ActionForward showStartTime(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
HttpSession session=request.getSession();
String startTime=session.getAttribute("startTime").toString();
long a=Long.parseLong(startTime);
long b=new java.util.Date().getTime();
int h=(int)Math.abs((b-a)/3600000);
String hour=chStr.formatNO(h,2);
int m=(int)(b-a)%3600000/60000;
String minute=chStr.formatNO(m,2);
int s=(int)((b-a)%3600000)%60000/1000;
String second=chStr.formatNO(s,2);
String time=hour+":"+minute+":"+second;
request.setAttribute("showStartTime",time);
return mapping.findForward("showStartTime");
}
private ActionForward startExam(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws SQLException
{
HttpSession session=request.getSession();
ExamForm examForm=(ExamForm)form;
String student=session.getAttribute("student").toString();
if(session.getAttribute("student")==null||session.getAttribute("student").equals(""))
{
request.setAttribute("dealNull", "你还没有登陆,请登陆后再进行考试!");
return mapping.findForward("dealNull");
}
else
{
String type=examForm.getType();
session.setAttribute("type", type);
int num=startExamDAO.getQuestionNum(type);
int count=startExamDAO.count(type);
if(num>count)
{
request.setAttribute("dealNull", "试卷题目设置出错,请和管理员联系!");
return mapping.findForward("dealNull");
}
else
{
examForm.setSize(num);
Set set=startExamDAO.getQuestions(num,type);
Iterator it=set.iterator();
it.hasNext();
ExamForm ef=(ExamForm)it.next();
request.setAttribute("set", set);
request.setAttribute("type", type);
// request.setAttribute("num", num);
// request.setAttribute("count", count);
session.setAttribute("startTime", new Date().getTime());
return mapping.findForward("testPaper");
}
}
}
private ActionForward showRemainTime(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
String startTime=session.getAttribute("startTime").toString();
long a=Long.parseLong(startTime);
long b=new java.util.Date().getTime();
int i=20;
int examTime=Integer.valueOf(session.getAttribute("examTime").toString());
long r=examTime*60000-(b-a-1000);//设置时间
int h=(int)Math.abs(r/3600000);
String hour=chStr.formatNO(h,2);
int m=(int)(r)%3600000/60000;
String minute=chStr.formatNO(m,2);
int s=(int)((r)%3600000)%60000/1000;
String second=chStr.formatNO(s,2);
String time=hour+":"+minute+":"+second;
request.setAttribute("showRemainTime",time);
return mapping.findForward("showRemainTime");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
java在线考试系统(源码) (499个子文件)
StartExam.class 6KB
StartExam.class 6KB
StartExamDAO.class 5KB
StartExamDAO.class 5KB
StudentDAO.class 3KB
StudentDAO.class 3KB
ExamForm.class 3KB
ExamForm.class 3KB
ConnDB.class 3KB
ConnDB.class 3KB
StudentAction.class 3KB
StudentAction.class 3KB
sqlBean.class 3KB
sqlBean.class 3KB
StudentForm.class 2KB
StudentForm.class 2KB
SetCharacterEncodingFilter.class 2KB
SetCharacterEncodingFilter.class 2KB
ChStr.class 2KB
ChStr.class 2KB
.classpath 851B
org.eclipse.wst.jsdt.ui.superType.container 49B
Thumbs.db 93KB
Thumbs.db 93KB
Thumbs.db 19KB
Thumbs.db 15KB
Thumbs.db 15KB
Thumbs.db 10KB
Thumbs.db 10KB
loginframe_01.gif 16KB
loginframe_01.gif 16KB
loginframe_05.gif 4KB
loginframe_05.gif 4KB
loginframe_02.gif 4KB
loginframe_02.gif 4KB
loginframe_03.gif 4KB
loginframe_03.gif 4KB
loginframe_09.gif 3KB
loginframe_09.gif 3KB
loginframe_07.gif 3KB
loginframe_07.gif 3KB
loginframe_04.gif 3KB
loginframe_04.gif 3KB
loginframe_10.gif 2KB
loginframe_10.gif 2KB
loginframe_08.gif 1KB
loginframe_08.gif 1KB
but_enter.gif 997B
but_enter_r.gif 997B
but_enter.gif 997B
but_enter_r.gif 997B
but_home_r.gif 955B
but_home_r.gif 955B
but_home.gif 951B
but_home.gif 951B
but_email_r.gif 853B
but_email.gif 853B
but_email_r.gif 853B
but_email.gif 853B
index_background.gif 252B
index_background.gif 252B
content_05.gif 57B
content_05.gif 57B
bullet.gif 46B
bullet.gif 46B
spacer.gif 43B
spacer.gif 43B
jsf-impl.jar 1.15MB
struts.jar 537KB
jstl-1.2.jar 405KB
antlr.jar 350KB
jsf-api.jar 314KB
msbase.jar 278KB
msbase.jar 278KB
commons-beanutils.jar 184KB
commons-digester.jar 164KB
commons-validator.jar 82KB
jakarta-oro.jar 64KB
mssqlserver.jar 63KB
mssqlserver.jar 63KB
msutil.jar 58KB
msutil.jar 58KB
commons-logging.jar 37KB
commons-fileupload.jar 22KB
jspSmartUpload.jar 12KB
jspSmartUpload.jar 12KB
StartExam.java 6KB
StartExamDAO.java 5KB
sqlBean.java 4KB
StudentDAO.java 3KB
ConnDB.java 2KB
ExamForm.java 2KB
StudentAction.java 2KB
SetCharacterEncodingFilter.java 2KB
StudentForm.java 2KB
ChStr.java 684B
admindone.jpg 47KB
admindone.jpg 47KB
9.jpg 42KB
8.jpg 41KB
共 499 条
- 1
- 2
- 3
- 4
- 5
柳晛
- 粉丝: 136
- 资源: 105
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页