一、项目简述
本系统主要实现的功能有: 学生以及老师的注册登录,在线考试,错题查询,学生管理,问题管理,错题管理,错题查询,分数查询,试卷管 理,人工组卷。自动组卷,教师,班级,统计等等管理功能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: Springboot+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
}
//后台切换到前台登录
@RequestMapping("/foreLogin")
public String foreLogin(){
return "stage/login";
}
//前台切换到后台登录
@RequestMapping("/backLogin")
public String backLogin(){
return "stage/loginx";
}
//后台教师登录验证
@ResponseBody
@RequestMapping("/backLogin/check")
public Object backCheck(Teacher teacher, HttpServletRequest request){
AjaxResult result=new AjaxResult();
HttpSession session=request.getSession();
Teacher teac=teacherService.check(teacher);
if(teac!=null){
session.setAttribute("logerd",teac);
result.setSuccess(true);
}else {
result.setSuccess(false);
}
return result;
}
@RequestMapping("/index")
}else {
parameter = request.getParameter("optionsSelect" + qb.getQuestionId());
if(parameter==null) {
return "redirect:/exam/toError";
}
}
ans.add(parameter);
}
//核对答案得到成绩
int k=0; //哨兵
Double y=0.0; //正确数
int score=0; //得分
int a=0; //记录单选题个数
int b=0; //记录多选题个数
int c=0; //记录判断题个数
int totalScore=0;
for (QuestionPaper qb:questionPapers){
if(ans==null) {
break;
}
//若为单选题则正确+单选题分数
if(qb.getQuestion().getQuestionType().equals("x")){
if(ans.get(k).equals(RightAns.get(k))){
score+=qb.getPaper().getScoreSin();
y++;
public Object backCheck(Teacher teacher, HttpServletRequest request){
AjaxResult result=new AjaxResult();
HttpSession session=request.getSession();
Teacher teac=teacherService.check(teacher);
if(teac!=null){
session.setAttribute("logerd",teac);
result.setSuccess(true);
}else {
result.setSuccess(false);
}
return result;
}
@RequestMapping("/index")
public String index(Model model){
//查询所有用户
int teas=teacherService.queryCountAll();
int stus=studentService.queryCOuntALlstu();
int alllogers=teas+stus;
//统计试题
int allQues=questionService.queryCountAllQues();
//统计试卷
int allPaps=paperService.queryCountALlPaps();
List<Record> ScoreHStu=recordService.queryRankScoreRecord();
List<Record> AccHStu=recordService.queryRankAccRecord();
model.addAttribute("ScoreHStu",ScoreHStu);
model.addAttribute("AccHStu",AccHStu);
model.addAttribute("allPaps",allPaps);
ClaAcc claAcc=new ClaAcc();
claAcc.setExamName(exaName);
claAcc.setClaName(claName.getClasseName());
claAcc.setToscPer(allScore);
claAcc.setAcscPer(accScore);
claAcc.setAcc(acc);
//每个对象添加到list
claAccRes.add(claAcc);
}
}
model.addAttribute("claAccRes",claAccRes);
return "record/claAcc";
}
AjaxResult result=new AjaxResult();
HttpSession session=request.getSession();
Student stud=studentService.check(student);
if(stud!=null){
session.setAttribute("loger",stud);
result.setSuccess(true);
}else {
result.setSuccess(false);
}
return result;
}
//前台登录到展示页面
@RequestMapping("/indexprexam")
public String indexprexam(){
return "stage/prexamed";
}
model.addAttribute("questionPapers",questionPapers);
return "exam/doExam";
}
//提交试卷
@RequestMapping("/submitExam")
public String submitExam(Integer paperId, Integer studentId, HttpServletRequest request){
List<QuestionPaper> questionPapers = paperService.paperQueryALlQuestionByIdOrderByType(paperId);
List<String> ans=new ArrayList<>();
List<String> RightAns=new ArrayList<>();
for (QuestionPaper qb:questionPapers){
RightAns.add(qb.getQuestion().getQuestionOpright());
String parameter="";
String []parameters;
if(qb.getQuestion().getQuestionType().equals("y")){
parameters= request.getParameterValues("optionsSelect" + qb.getQuestionId());
if(parameters!=null) {
for(String s:parameters){
parameter+=s;
}
}
}else {
parameter = request.getParameter("optionsSelect" + qb.getQuestionId());
if(parameter==null) {
return "redirect:/exam/toError";
private QuestionService questionService;
@Autowired
private PaperService paperService;
@Autowired
private ClasseService classeService;
@Autowired
private RecordService recordService;
@RequestMapping("/")
public String view(Model model){
//查询所有用户
int teas=teacherService.queryCountAll();
int stus=studentService.queryCOuntALlstu();
int alllogers=teas+stus;
//统计试题
int allQues=questionService.queryCountAllQues();
//统计试卷
int allPaps=paperService.queryCountALlPaps();
model.addAttribute("allPaps",allPaps);
model.addAttribute("allQues",allQues);
model.addAttribute("alllogers",alllogers);
return "stage/prexam";
}
//后台切换到前台登录
@RequestMapping("/foreLogin")
public String foreLogin(){
return "stage/login";
parameter+=s;
}
}
}else {
parameter = request.getParameter("optionsSelect" + qb.getQuestionId());
if(parameter==null) {
return "redirect:/exam/toError";
}
}
ans.add(parameter);
}
//核对答案得到成绩
int k=0; //哨兵
Double y=0.0; //正确数
int score=0; //得分
int a=0; //记录单选题个数
int b=0; //记录多选题个数
int c=0; //记录判断题个数
int totalScore=0;
for (QuestionPaper qb:questionPapers){
if(ans==null) {
Date begin = sdf.parse(t1);
Date end = sdf.parse(t2);
exam.setExamBegin(begin);
exam.setExamEnd(end);
examService.AddExam(exam);
return "redirect:/exam/getAllExam";
}
@RequestMapping("/deleteExam/{id}")
public String toEditExam(@PathVariable ("id") Integer id,Model model){
examService.deleteById(id);
return "redirect:/exam/getAllExam";
}
}
记录信息控制层:
@Controller
@RequestMapping("/record")
public class RecordController {
@Autowired
RecordService recordService;
@Autowired
PaperService paperService;
@Autowired