基于javaweb+mysql的ssm在线考试系统(java+ssm+mysql+jsp)

基于javaweb+mysql的ssm在线考试系统(java+ssm+mysql+jsp)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SSM在线考试系统(java+ssm+mysql+jsp)

运行环境:jdk1.8、Mysql5.7、Tomcat8.5、IDEA/Eclipse

功能简介:在线考试、历史回顾、个人成绩查询等。

管理员和教师功能有:学院管理、班级管理、课程管理、教师、学生管理、统计分析、试卷试题管理、考试安排管理、历史考试管理等

		examPaper.setExamPaperEasy(examPaperEasy);
		grade.setGradeId(gradeId);
		examPaper.setGrade(grade);

		if (isUpdate != null) {
			logger.info("修改试卷 " + examPaper + " 的信息");
			int row = examPaperInfoService.isUpdateExamPaper(examPaper);
		} else {
			logger.info("添加试卷 " + examPaper + " 的信息");
			int row = examPaperInfoService.isAddExamPaper(examPaper);
		}

		return "redirect:/examPapers";
	}

	/**
	 * 删除试卷
	 * 
	 * @param examPaperId
	 *            待删除试卷编号
	 * @return
	 */
	@RequestMapping(value = "/examPaper/{examPaperId}", method = RequestMethod.DELETE)
	public String isDelTeacher(@PathVariable("examPaperId") Integer examPaperId, Model model) {
		logger.info("删除试卷 " + examPaperId);
		try {
			examPaperInfoService.isDelExamPaper(examPaperId);
		}catch (Exception e){
			e.printStackTrace();
			return "redirect:/error";
		}
		return "redirect:/examPapers";
	}

	@RequestMapping("/error")
	public ModelAndView error(ModelAndView modelAndView){
		modelAndView.addObject("error","该试卷有关联数据,不可删除");
		modelAndView.setViewName("/error");
		return modelAndView;
	}

	/**
	 * 预添加试卷
	 * 
	 * @return
	 */
	@RequestMapping("/preAddExamPaper")
	public ModelAndView preAddStudent() {
		logger.info("预添加试卷信息");
		ModelAndView model = new ModelAndView();
		model.setViewName("/admin/examPaperedit");
		List<GradeInfo> grades = gradeInfoService.getGrades();
		model.addObject("grades", grades);
			pageTotal = teacherTotal / pageShow;
		else
			pageTotal = teacherTotal / pageShow + 1;
		model.addObject("pageTotal", pageTotal);
		model.addObject("pageNow", startPage);

		return model;
	}

	/**
	 * 预修改教师
	 * 
	 * @param teacherId
	 * @return
	 */
	@RequestMapping(value = "/teacher/{teacherId}", method = RequestMethod.GET)
	public ModelAndView preUpdateTeacher(@PathVariable("teacherId") Integer teacherId) {
		logger.info("预修改教师处理");

		ModelAndView model = new ModelAndView();
		// 获取要修改教师
		TeacherInfo teacher = teacherInfoService.getTeacherById(teacherId);
		model.setViewName("/admin/teacher/teacheredit");
		model.addObject("teacher", teacher);

		return model;
	}

	/**
	 * 修改/添加 教师
	 * 
	 * @param teacherId
	 * @param isUpdate
	 *            操作标识
	 * @param teacherName
	 * @param teacherAccount
	 * @param teacherPwd
	 * @param adminPower
	 * @return
	 */
	@RequestMapping(value = "/teacher/teacher", method = RequestMethod.POST)
	public String isUpdateOrAddTeacher(@RequestParam(value = "teacherId", required = false) Integer teacherId,
			@RequestParam(value = "isupdate", required = false) Integer isUpdate,
			@RequestParam("teacherName") String teacherName, @RequestParam("teacherAccount") String teacherAccount,
			@RequestParam("teacherPwd") String teacherPwd, @RequestParam("adminPower") Integer adminPower) {

	 */
	@RequestMapping("/preAddCourse")
	public ModelAndView preAddCourse() {
		ModelAndView model = new ModelAndView();
		model.setViewName("/admin/course/courseedit");
		/** 获取系部集合 */
		List<GradeInfo> grades = gradeInfoService.getGrades();
		model.addObject("grades", grades);
		return model;
	}
}

/**
 *
 * <p>
 * Title: GradeInfoHandler
 * </p>
 * <p>
 * Description: 系部
 * </p>
 */

@Controller
public class GradeInfoHandler {

	@Autowired
	@Qualifier("gson")
	private Gson gson;
	@Autowired
	private GradeInfoService gradeInfoService;

	private Logger logger = Logger.getLogger(GradeInfoHandler.class);

		if (isUpdate != null) {
			int row = courseInfoService.isUpdateCourse(course);
		}
		// 添加
		else {
			int row = courseInfoService.isAddCourse(course);
		}
		return "redirect:/courses";
	}

	/**
	 * 删除科目
	 * 
	 * @param courseId
	 *            待删除科目编号
	 * @return
	 */
	@RequestMapping(value = "/course/{courseId}", method = RequestMethod.DELETE)
	public String isDelTeacher(@PathVariable("courseId") Integer courseId) {
		int row = courseInfoService.isDelCourse(courseId);
		return "redirect:/courses";
	}

	/**
	 * 预添加科目信息
	 * 
	 * @return
	 */
	@RequestMapping("/preAddCourse")
	public ModelAndView preAddCourse() {
		ModelAndView model = new ModelAndView();
		model.setViewName("/admin/course/courseedit");
		/** 获取系部集合 */
		List<GradeInfo> grades = gradeInfoService.getGrades();
		model.addObject("grades", grades);
		return model;
	}
}


		return "admin/grade/gradeedit";
	}

	/**
	 * 添加系部
	 * 
	 * @param grade
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/grade", method = RequestMethod.POST)
	public String isAddGrade(GradeInfo grade, HttpServletRequest request) {
		if (grade == null) {
			request.setAttribute("error", "请填写正确的系部信息");
			return "error";
		}
		GradeInfo byName = gradeInfoService.findByName(grade.getGradeName());
		if(byName!=null){
			request.setAttribute("error", "该系部名称已存在!");
			return "error";
		}
		int row = gradeInfoService.isAddGrade(grade);
		if (row < 1) {
			request.setAttribute("error", "系部添加失败,请稍后再试!");
			return "error";
		}

		return "redirect:grades";
	}

	/**
	 * 预修改系部处理
	 * 
	 * @param gradeId
	 *            待修改系部编号
	 * @param map
	 * @return
	 */
	@RequestMapping(value = "/grade/update/{gradeId}", method = RequestMethod.GET)
	public String preUpdateGrade(@PathVariable("gradeId") Integer gradeId, Map<String, Object> map) {
		logger.info("系部修改预处理");

		map.put("grade", gradeInfoService.getGradeById(gradeId));

		return "/admin/grade/gradeedit";
	}

	/**
	 * 修改系部信息
	 * 
	 *            页容量 默认10
	 * @return
	 */
	@RequestMapping("/examPapers")
	public ModelAndView getCourses(@RequestParam(value = "gradeId", required = false) Integer gradeId,
			@RequestParam(value = "startPage", required = false, defaultValue = "1") Integer startPage,
			@RequestParam(value = "pageShow", required = false, defaultValue = "10") Integer pageShow) {
		logger.info("获取试卷集合  gradeId=" + gradeId + ", startPage=" + startPage + ", pageShow=" + pageShow);
		ModelAndView model = new ModelAndView();
		model.setViewName("/admin/examPapers");

		if (gradeId != null) {
			grade.setGradeId(gradeId);
			examPaper.setGrade(grade);
		}

		Map<String, Object> map = new HashMap<String, Object>();
		// 计算当前查询起始数据索引
		int startIndex = (startPage - 1) * pageShow;
		map.put("examPaper", examPaper);
		map.put("startIndex", startIndex);
		map.put("pageShow", pageShow);
		List<ExamPaperInfo> examPapers = examPaperInfoService.getExamPapers(map);
		model.addObject("examPapers", examPapers);

		// 获取试卷总量
		int examPaperTotal = examPaperInfoService.getExamPpaerTotal();
		// 计算总页数
		int pageTotal = 1;
		if (examPaperTotal % pageShow == 0)
			pageTotal = examPaperTotal / pageShow;
		else
			pageTotal = examPaperTotal / pageShow + 1;
		model.addObject("pageTotal", pageTotal);
		model.addObject("pageNow", startPage);

		return model;
	}

	/**
	 * 根据编号获取试卷信息
	 * 
	 * @param examPaperId
	 *            试卷编号
	 * @return
	 */
	@RequestMapping("/examPaper/{examPaperId}")
	public ModelAndView getCourseById(@PathVariable("examPaperId") Integer examPaperId) {
		logger.info("获取试卷 " + examPaperId);
	private TeacherInfoService teacherInfoService;

	private Logger logger = Logger.getLogger(TeacherInfoHandler.class);

	/**
	 * 获取 验证教师信息
	 * 
	 * @param teacherAccount
	 * @param response
	 * @throws Exception
	 */
	@RequestMapping(value = "/validateTeacher", method = RequestMethod.POST)
	public void queryTeacherExists(@RequestParam(value = "account") String teacherAccount, HttpServletResponse response)
			throws Exception {
		logger.info("获取教师 " + teacherAccount + " 的信息");

		TeacherInfo teacherInfo = null;
		teacherInfo = teacherInfoService.getTeacherByAccount(teacherAccount);

		// 教师账户不存在
		if (teacherInfo == null) {
			response.getWriter().print("1");
		} else {
			response.getWriter().print(teacherInfo.getTeacherPwd());
		}
	}

	/**
	 * 教师登录
	 * 
	 * @param teacherAccount
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/teacherlogin", method = RequestMethod.POST)
	public String teacherLogin(@RequestParam("teacherAccount") String teacherAccount, HttpServletRequest request) {
		if (teacherAccount == null || "".equals(teacherAccount)) {
			logger.error("教师账号为空");
			request.setAttribute("error", "登录信息有误");
			return "/error";
		}
		logger.info("教师  " + teacherAccount + " 登录");

		// 获取当前登录教师
		TeacherInfo teacherInfo = teacherInfoService.getTeacherByAccount(teacherAccount);

		if (teacherInfo == null) {
			logger.error("教师账号为空");
			request.setAttribute("error", "账号不存在!");
			return "/error";
		}
		String teacherPwd = request.getParameter("teacherPwd");
		if (!teacherInfo.getTeacherPwd().equals(teacherPwd)) {

/**
  *
  * <p>Title: StudentInfoHandler</p>
  * <p>Description: </p>
  */

@Controller
@SuppressWarnings("all")
public class StudentInfoHandler {

	@Autowired
	private StudentInfoService studentInfoService;
	@Autowired
	private ClassInfoService classInfoService;
	@Autowired
	private ExamSubjectMiddleInfoService examSubjectMiddleInfoService;
	@Autowired
	private ExamHistoryPaperService examHistoryPaperService;
	@Autowired
	private ExamChooseInfoService examChooseInfoService;
	@Autowired
	private ExamSubjectMiddleInfo esm;
	@Autowired
	private ClassInfo classInfo;
	@Autowired
	private ExamPaperInfo examPaper;
	@Autowired
	private GradeInfo grade;
	@Autowired
	private StudentInfo student;
	
	@Autowired
	private ExamPaperInfoService examPaperInfoService;

	private Logger logger = Logger.getLogger(StudentInfoHandler.class);

	/**
	 * 获取学生集合
	 * @param studentId 学生编号
			subject.setSubjectEasy(subjectEasy);
		}
		if (courseId != null) {
			course.setCourseId(courseId);
			subject.setCourse(course);
		}
		if (gradeId != null) {
			grade.setGradeId(gradeId);
			subject.setGrade(grade);
		}

		Map<String, Object> map = new HashMap<String, Object>();
		map.put("subject", subject);
		map.put("startIndex", null);
		map.put("pageShow", null);

		List<SubjectInfo> subjects = subjectInfoService.getSubjects(map);
		int subjectTotal = subjects.size() - 1;

		Map<String, Object> addMap = new HashMap<String, Object>();
		ArrayList<Integer> indexs = new ArrayList<Integer>();
		ArrayList<Integer> subjectIds = new ArrayList<Integer>();

		// 添加试题总分
		int score = 0;
		for (int i = 0; i < subjectSum; i++) {
			// 产生随机索引
			int index = random.nextInt(subjectTotal);
			if (indexs.contains(index)) { // 随机索引已经存在
				i--;
				continue;
			} else {
				indexs.add(index);
				int subjectId = subjects.get(index).getSubjectId();
				subjectIds.add(subjectId);
				score += subjects.get(index).getSubjectScore();
				logger.info("索引 " + index + " 试题编号 " + subjectId + " 成立");
			}
		}

		// 添加试题信息
		addMap.put("examPaperId", examPaperId);
		addMap.put("subjectIds", subjectIds);

		// 总分和题目数量信息
		Map<String, Object> scoreWithNum = new HashMap<String, Object>();
	 * @return
	 */
	@RequestMapping("/history/{studentId}")
	public ModelAndView getExamHistoryInfo(@PathVariable("studentId") Integer studentId) {
		ModelAndView model = new ModelAndView();
		
		if (studentId == null) {
			logger.error("学生编号 为空");
			model.setViewName("error");
			return model;
		}
		logger.info("学生 "+studentId+" 获取考试历史记录");
		//获取历史考试信息记录集合
		List<ExamHistoryPaper> ehps = examHistoryPaperService.getExamHistoryToStudent(studentId);
		model.addObject("ehps", ehps);
		model.setViewName("/reception/examHistory");
		
		return model;
	}
	
	
	/**
	 * 考生提交考试
	 * @param studentId
	 * @param examPaperId
	 * @param classId
	 * @param gradeId
	 * @return
	 */
	@RequestMapping(value="/submit", method={RequestMethod.POST, RequestMethod.GET})
	public String examSubmit(
			@RequestParam("studentId") Integer studentId,
			@RequestParam("examPaperId") Integer examPaperId,
			@RequestParam("classId") Integer classId,
			@RequestParam("gradeId") Integer gradeId) {
		logger.info("学生 "+studentId+" 提交了试卷 "+examPaperId);
		
		//获取当前学生当前试卷所选择的全部答案
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("studentId", studentId);
					logger.info("待考试卷 " + examPlanInfo.getExamPaper().getExamPaperId() + " 暂未过期,无法移除");
					continue;
				}
			}
		}
	}

	/**
	 * 验证试卷是否过期
	 * 
	 * @param beginTime
	 *            考试开始时间
	 * @param examTime
	 *            考试时间
	 * @return
	 */
	private boolean validateExamPaerBeOverdue(String beginTime, int examTime) {
		boolean flag = false;
		try {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
			Date beginTimeDate = sdf.parse(beginTime);
			Long beginTimeTime = beginTimeDate.getTime();

			/** 转换考试时间为毫秒单位 */
			int examTimeSecond = examTime * 60 * 1000;

			Date nowDate = new Date();
			Long nowDateTime = nowDate.getTime();

			/** 当前时间超过了 考试结束时间,即为过期记录 */
			if (nowDateTime > (beginTimeTime + examTimeSecond)) {
				flag = true;
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}

		return flag;
	}

	/**
	 * 教师移除考试安排记录
	 * 
	 *            上一个班主任编号,修改其 班主任状态
	 * @return
	 */
	@RequestMapping(value = "edit/class/class", method = RequestMethod.POST)
	public String isUpdateClass(ClassInfo classInfo, HttpServletRequest request,
			@RequestParam(value = "lastTeacher", required = false) Integer lastTeacherId) {
		ClassInfo byClassName = classInfoService.findByClassName(classInfo.getClassName());
		if(byClassName!=null){
			if(!byClassName.getClassId().equals(classInfo.getClassId())){
				request.setAttribute("error", "该班级名称已存在!");
				return "../../error";
			}
		}
		// 修改上一教师不为班主任状态
		if (lastTeacherId != null) {
			String returnMsg = isChangeTeacherWork(0, lastTeacherId);
			if (returnMsg != null) {
				request.setAttribute("error", "修改教师班主任状态 对应教师编号有误");
				return "../error";
			}
		}
		// 修改当前教师为班主任状态
		String returnMsg = isChangeTeacherWork(1, classInfo.getTeacher().getTeacherId());
		if (returnMsg != null) {
			request.setAttribute("error", "修改教师班主任状态 对应教师编号有误");
			return "../error";
		}

		int row = classInfoService.isUpdateClass(classInfo);
		if (row < 1) {
			logger.error("班级 " + classInfo + " 修改失败");

			request.setAttribute("error", "班级修改失败,请稍后再试!");
			return "../error";
		}
		return "redirect:/classes";
	}

	/**
	 * 获取指定系部下的班级
	}
	
	/**
	 * 退出登录
	 * @param session
	 * @return
	 */
	@RequestMapping("/exit")
	public String studentClearLogin(HttpSession session) {
		StudentInfo studnet = (StudentInfo) session.getAttribute("loginStudent");
		logger.info("学生 "+studnet.getStudentName()+", 编号 "+studnet.getStudentId()+" 退出登录");
		session.removeAttribute("loginStudent");
		
		return "redirect:index.jsp";
	}
	
	/**
	 * 学生注册 验证当前账户是否被占用
	 * @param studentAccount 注册账户
	 * @param response
	 * @throws IOException
	 */
	@RequestMapping("/validateAccount")
	public void validateRegisterAccount(@RequestParam("studentAccount") String studentAccount,
			HttpServletResponse response) throws IOException {
		logger.info("验证学生账户 "+studentAccount+",是否已被注册");
		
		StudentInfo student = studentInfoService.getStudentByAccountAndPwd(studentAccount);
		
		if (student == null) {
			logger.error("注册学生账户 "+studentAccount+" 可以注册");
			response.getWriter().print("t");
		} else {
			logger.error("注册学生账户 "+studentAccount+" 已被注册");
			response.getWriter().print("f");
		}
	}
	
	/**
	 * 学生注册
	public void delSubject(@RequestParam("subjectId") Integer subjectId, HttpServletResponse response)
			throws IOException {
		logger.info("删除试题 " + subjectId);

		int row = subjectInfoService.isDelSubject(subjectId);

		if (row > 0) {
			response.getWriter().print("t");
		} else {
			response.getWriter().print("f");
		}
	}

	/**
	 * 修改试题 -- 获取待修改试题信息
	 * 
	 * @param subjectId
	 * @return
	 */
	@RequestMapping("/subject/{subjectId}")
	public ModelAndView updateSubject(@PathVariable("subjectId") Integer subjectId) {
		logger.info("修改试题 " + subjectId + " 的信息(获取试题信息)");

		SubjectInfo subject = subjectInfoService.getSubjectWithId(subjectId);

		ModelAndView model = new ModelAndView("/admin/subject-test");
		model.addObject("subject", subject);
		List<GradeInfo> grades = gradeInfoService.getGrades();
		model.addObject("grades", grades);
		model.addObject("courses", courseInfoService.getCourses(null));
		return model;
	}

	/**
	 * 修改试题
	 * 
	 * @param subject
	 * @param response
	 * @throws IOException
	 */
	@RequestMapping(value = "/updateSubject", method = RequestMethod.POST)
	public void updateSubject(SubjectInfo subject, HttpServletResponse response) throws IOException {
		logger.info("修改试题 " + subject.getSubjectId() + " 的信息(正式)");

		if (subject != null) {
			subject.setSubjectName(trimChar(subject.getSubjectName()));
			subject.setRightResult(trimChar(subject.getRightResult()));
			subject.setOptionA(trimChar(subject.getOptionA()));
			subject.setOptionB(trimChar(subject.getOptionB()));
			subject.setOptionC(trimChar(subject.getOptionC()));
			subject.setOptionD(trimChar(subject.getOptionD()));
		}
		int row = subjectInfoService.isUpdateSubject(subject);
		if (row > 0) {

/**
 *
 * <p>
 * Title: ExamSubjectMiddleInfoHandler
 * </p>
 * <p>
 * Description: 试卷试题--关联
 * </p>
 */

@Controller
@Scope("prototype")
@SuppressWarnings("all")
public class ExamSubjectMiddleInfoHandler {

	@Autowired
	private ExamSubjectMiddleInfoService esmService;
	@Autowired
	private ExamPaperInfoService examPaperInfoService;
	@Autowired
	private SubjectInfoService subjectInfoService;
	@Autowired
	private ExamSubjectMiddleInfo esm;
	@Autowired
	private ExamPaperInfo examPaper;
	@Autowired
		model.addObject("pageNow", startPage);

		return model;
	}

	/**
	 * 根据编号获取试卷信息
	 * 
	 * @param examPaperId
	 *            试卷编号
	 * @return
	 */
	@RequestMapping("/examPaper/{examPaperId}")
	public ModelAndView getCourseById(@PathVariable("examPaperId") Integer examPaperId) {
		logger.info("获取试卷 " + examPaperId);
		ModelAndView model = new ModelAndView();
		model.setViewName("/admin/examPaperedit");

		ExamPaperInfo paper = examPaperInfoService.getExamPaper(examPaperId);
		model.addObject("examPaper", paper);
		List<GradeInfo> grades = gradeInfoService.getGrades();
		model.addObject("grades", grades);

		return model;
	}

	/**
	 * 添加/修改试卷信息
	 * 
	 * @param examPaperId
	 *            待操作试卷编号
	 * @param isUpdate
	 *            标识是否为修改操作
	 * @param examPaperName
	 *            试卷名称
	 * @param subjectNum
	 *            试卷试题数量
	 * @param examPaperScore
	 *            试卷总分
	 * @param examPaperTime
	 *            试卷规定考试时间
	 * @param division
				subjectIds.add(Integer.parseInt(idAndScore[0]));
				// 累加试题分数
				scoreSum += Integer.parseInt(idAndScore[1]);
				// 累加试题数量
				subjectSum += 1;
			}
			/** 需要添加试题集合 */
			map.put("subjectIds", subjectIds);
		} else {
			logger.error("试题集合为空,不能进行添加试题操作!");
			response.getWriter().print("需要添加的试题为空,操作失败!");
			return;
		}
		logger.info("添加试题集合到试卷 " + examPaperId);
		// 总分和题目数量信息
		Map<String, Object> scoreWithNum = new HashMap<String, Object>();
		scoreWithNum.put("subjectNum", subjectSum);
		scoreWithNum.put("score", scoreSum);
		scoreWithNum.put("examPaperId", examPaperId);
		/** 修改试卷总分 */
		examPaperInfoService.isUpdateExamPaperScore(scoreWithNum);
		/** 修改试卷试题总量 */
		examPaperInfoService.isUpdateExamPaperSubjects(scoreWithNum);

		/** 添加试题到试卷中 */
		esmService.isAddESM(map);
		session.setAttribute("ids",null);
		response.getWriter().print("试题已成功添加到试卷中!");
	}

	/**
	 * 手动添加试题到试卷时 向 Session中存入试题信息
	 * 
	 * @param subjectId
	 *            试题编号
	 * @param examPaperId
	 *            试卷编号
	 * @param score
	 *            试题分数
	 * @param handle
	 *            操作标识, 自动 OR 手动
	 * @param session
	 * @param response
	 * @throws IOException
	 */
	@RequestMapping("/getChooseSubId")
	public void getChooseSubjectId(@RequestParam("subjectId") Integer subjectId,
			@RequestParam("examPaperId") Integer examPaperId, @RequestParam("score") Integer score,
			@RequestParam(value = "handle", required = false) Integer handle, HttpSession session,
			HttpServletResponse response) throws IOException {
		List<String> ids = null;
		/*
		 * 添加到 Session 中需先判断该试题是否已经存在该试卷中 如果存在,则不进行添加;反之添加
		logger.info("获取要修改的待考记录:" + examPlanWithUpdate);
		model.addObject("examPlan", examPlanWithUpdate);

		return model;
	}

	/**
	 * 修改待考信息
	 * 
	 * @param examPlan
	 *            待考记录
	 * @return
	 */
	@RequestMapping(value = "preUpdateep/examPlan", method = RequestMethod.PUT)
	public String isUpdateExamPlan(ExamPlanInfo examPlan) {
		logger.info("修改待考记录:" + examPlan);
		examPlanInfoService.isUpdateExamPlan(examPlan);

		return "redirect:../examPlans";
	}

	/**
	 * 查询学生待考信息
	 * 
	 * @param classId
	 *            学生所在班级编号
	 * @param gradeId
	 *            学生所在系部百年好
	 * @param studentId
	 *            学生编号
	 * @return
	 */
	@RequestMapping("/willexams")
	public ModelAndView getStudentWillExam(@RequestParam("classId") Integer classId,
			@RequestParam("gradeId") Integer gradeId,
			@RequestParam(value = "studentId", required = false) Integer studentId) {
		logger.info("查询学生 " + studentId + "(NULL-未指定)待考信息 班级:" + classId + ", 系部:" + gradeId);
		ModelAndView model = new ModelAndView();
		model.setViewName("/reception/examCenter");
		Map<String, Object> map = new HashMap<String, Object>();

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值