⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 examaction.java

📁 该在线考试关系统(B/S结构)主要采用JAVA语言开发涉及主要WEB技术有:Struts+Spring+Hibernate框架
💻 JAVA
字号:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package web.action;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;

import po.Oexampaper;
import po.Ograde;
import po.Ostudent;
import web.breakpage.Page;
import business.IAdmService;
import business.IStuService;
import business.IUtilService;
import freeChart.PieChart;

/** 
 * MyEclipse Struts
 * Creation date: 01-23-2008
 * 
 * XDoclet definition:
 * @struts.action parameter="method" validate="true"
 */

/**
 * 
 */
public class ExamAction extends DispatchAction
{
	private IAdmService admService;

	private IUtilService utilService;

	private IStuService stuService;

	public IAdmService getAdmService()
	{
		return admService;
	}

	public void setAdmService(IAdmService admService)
	{
		this.admService = admService;
	}

	public IUtilService getUtilService()
	{
		return utilService;
	}

	public void setUtilService(IUtilService utilService)
	{
		this.utilService = utilService;
	}

	public IStuService getStuService()
	{
		return stuService;
	}

	public void setStuService(IStuService stuService)
	{
		this.stuService = stuService;
	}

	public ActionForward chooseExam(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		String id = request.getParameter("id");
		if (null != id)
		{
			Oexampaper exam = admService.findExamPaperByid(id);
			request.setAttribute("exam", exam);
		}
		List list = admService.findAllExamPaper();
		request.setAttribute("list", list);
		return mapping.findForward("exam_choice");
	}

	public ActionForward startExam(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		//需要重点写!!
		String id = request.getParameter("id");
		Oexampaper exam = admService.findExamPaperByid(id);
		Ostudent stu = (Ostudent) request.getSession().getAttribute("stu");
		List list_s = new ArrayList();
		List list_m = new ArrayList();
		List list_j = new ArrayList();
		String type = exam.getType();
		String[] style = utilService.getID(exam.getStyle());

		for (int i = 0; i < style.length; i++)
		{
			if ("判断".equals(style[i]))
			{
				list_j = stuService.findQuestionbyTySt(type, "判断");
				List list_judge = stuService.randomQuestion(list_j);
				request.setAttribute("list_judge", list_judge);
			}
			if ("单项选择".equals(style[i]))
			{
				list_s = stuService.findQuestionbyTySt(type, style[i]);
				List list_schoice = stuService.randomQuestion(list_s);
				request.setAttribute("list_schoice", list_schoice);
			}
			if ("多项选择".equals(style[i]))
			{
				list_m = stuService.findQuestionbyTySt(type, style[i]);
				List list_mchoice = stuService.randomQuestion(list_m);
				request.setAttribute("list_mchoice", list_mchoice);
			}
		}
		
		//request.getSession().getServletContext().setAttribute("examState", "start");
		HttpSession session = request.getSession();
		request.setAttribute("exam", exam);
		session.setAttribute("examState", "start");
		session.setAttribute("time", exam.getTime().toString());
		
		if (null != admService.findGradeBykey(stu, exam))
		{
			request.setAttribute("again_js", "again_js");
			session.setAttribute("examState", "no");
			return mapping.findForward("stu_warn");
		} 
		else
		{
			return mapping.findForward("exam_go");
		}
	}

	public ActionForward endExam(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		HttpSession session = request.getSession();
		Ostudent stu = (Ostudent) session.getAttribute("stu");
		String examid = request.getParameter("examid");
		Oexampaper exam = admService.findExamPaperByid(examid);
		Ograde grade_exam = new Ograde();

		int grade = 0;//总分

		for (int i = 1; i <= Integer.parseInt(exam.getTotalque()); i++)
		{
			String style = request.getParameter("style" + String.valueOf(i));
			if (style.equals("mchoice"))//多项选择
			{
				String mchoice[] = request
						.getParameterValues(String.valueOf(i));
				String answer = "";
				String answers = request.getParameter("answers"
						+ String.valueOf(i));

				if (null != mchoice)
				{
					for (int j = 0; j < mchoice.length; j++)
					{
						answer = answer + mchoice[j];
					}
					int point = Integer.parseInt(exam.getMchoicepoint());
					grade = grade
							+ admService.changePoint(answer, answers, point);
				}
			} else if (style.equals("schoice"))//单项选择
			{
				String answer = request.getParameter(String.valueOf(i));
				String answers = request.getParameter("answers"
						+ String.valueOf(i));
				int point = Integer.parseInt(exam.getSchoicepoint());
				grade = grade + admService.changePoint(answer, answers, point);
			} else
			//判断
			{
				String answer = request.getParameter(String.valueOf(i));
				String answers = request.getParameter("answers"
						+ String.valueOf(i));
				int point = Integer.parseInt(exam.getJudgepoint());
				grade = grade + admService.changePoint(answer, answers, point);
			}

		}

		grade_exam.setOstudent(stu);
		grade_exam.setOexampaper(exam);
		grade_exam.setGrade(String.valueOf(grade));


		admService.addGrade(grade_exam);
		
		session.setAttribute("examState", "no");
		
		request.setAttribute("grade", String.valueOf(grade));
		request.setAttribute("exam", exam);

		return mapping.findForward("exam_grade");
	}

	public ActionForward chooseGrade(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)

	{
		String examid = request.getParameter("id");
		Oexampaper exam = new Oexampaper();

		if (null != examid)
		{
			exam = admService.findExamPaperByid(examid);
		}

		HttpSession session = request.getSession();
		Ostudent stu = (Ostudent) session.getAttribute("stu");
		String stuid = stu.getId();
		if (null == examid)
		{
			List list = admService.findAllExamPaper();
			request.setAttribute("list", list);
			return mapping.findForward("grade_choice");
		}

		else if (null != admService.findGradeBykey(stu, exam))
		{

			String grade = admService.findGradeBykey(stu, exam).getGrade();
			request.setAttribute("exam", exam);
			request.setAttribute("grade", String.valueOf(grade));
			return mapping.findForward("exam_grade");
		} else
		{
			request.setAttribute("pardon_js", "pardon_js");
			return mapping.findForward("stu_warn");
		}

	}

	public ActionForward listGrade(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		String pageMethod = request.getParameter("pageMethod");
		HttpSession session = request.getSession();
		String text = "";
		String colleage = "";
		String exam = "";

		if (null != pageMethod)
		{
			text = (String) session.getAttribute("text");
			colleage = (String) session.getAttribute("colleage");
			exam = (String) session.getAttribute("exam");
			int num = (Integer)session.getAttribute("num");

			int count = admService.findByGradekey(text, colleage, exam);

			//根据总行数来创建Page对象
			Page p = utilService.getPage(request,count,num);

			//通过page对象可以得到从哪一条数据库的记录开始查询,查询多少条
			Collection clInfos = admService.findByGradekey(p.getStartRow(), p
					.getPageSize(), text, colleage, exam);
			request.setAttribute("page", p);
			request.setAttribute("list", clInfos);

			List list = admService.findAllExamPaper();
			request.setAttribute("list_exam", list);
			request.setAttribute("text", text);
			request.setAttribute("colleage", colleage);
			request.setAttribute("exam", exam);
			request.setAttribute("count", count);
			request.setAttribute("num", num);
			return mapping.findForward("grade_list");
		} 
		else
		{
			String pages = request.getParameter("pages");
			int num = 0;
			if(null != pages)
			{
				num = Integer.valueOf(pages);
			}
			else
			{
				num = 15;
			}
			
			text = request.getParameter("quekey");
			colleage = request.getParameter("colleage");
			exam = request.getParameter("exam");
			session.setAttribute("text", text);
			session.setAttribute("colleage", colleage);
			session.setAttribute("exam", exam);
			session.setAttribute("num", num);
			
			int count = admService.findByGradekey(text, colleage, exam);

			//根据总行数来创建Page对象
			Page p = utilService.getPage(request, count, num);

			//通过page对象可以得到从哪一条数据库的记录开始查询,查询多少条
			Collection clInfos = admService.findByGradekey(p.getStartRow(), p
					.getPageSize(), text, colleage, exam);
			request.setAttribute("page", p);
			request.setAttribute("list", clInfos);

			List list = admService.findAllExamPaper();
			request.setAttribute("list_exam", list);
			request.setAttribute("text", text);
			request.setAttribute("colleage", colleage);
			request.setAttribute("exam", exam);
			request.setAttribute("count", count);
			request.setAttribute("num", num);
			return mapping.findForward("grade_list");
		}
	}

	public ActionForward delGrade(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		String id = request.getParameter("id");
		String[] queid = utilService.getID(id);

		for (int i = 0; i < queid.length; i++)
		{
			admService.delGrade(queid[i]);
		}

		request.setAttribute("gra_del_js", "gra_del_js");

		return mapping.findForward("admin_warn");
	}

	public ActionForward displayGrade(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
	{
		String id = request.getParameter("id");
		Ograde grade = admService.findGradeByid(id);
		request.setAttribute("grade", grade);
		return mapping.findForward("grade_display");
	}
	public ActionForward displayGradeByPie(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response)
	{
		String id = request.getParameter("exam");	
		Oexampaper exam = admService.findExamPaperByid(id);
		
		System.out.println(exam.getStatus());
		
		if(null!=exam && "开放考试".equals(exam.getStatus()))
		{
			String colleage = request.getParameter("colleage");
			DefaultPieDataset Dataset = admService.getDataSet(exam.getTotalpoint(), exam.getName(), colleage);
			request.setAttribute("Dataset", Dataset);
			String name = exam.getName() + "---" + colleage + "成绩段人数分析";
			request.setAttribute("name", name);
			return mapping.findForward("freechart");
		}
		else
		{
			request.setAttribute("exam_state", "exam_state");
			return mapping.findForward("admin_warn");
		}
	}


	public ActionForward displayGradeChoice(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response)
	{
		List list = admService.findAllExamPaper();
		request.setAttribute("list", list);
		return mapping.findForward("grade_choice_tea");

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -