开发工具:myeclipse2021(需要激活的伙伴可以私信)
jdk:1.8
mysql:5.7
数据库管理工具:navicat
源码传送门在文末
系统首页:登陆(分为学生和教师2种角色)
![](https://img-blog.csdnimg.cn/img_convert/42e4022a9121af8fbd34554c1a7c479b.png)
教师首页
![](https://img-blog.csdnimg.cn/img_convert/c7f25bbe8b3068d772b96e86689fee5a.png)
学生管理
![](https://img-blog.csdnimg.cn/img_convert/30de7f21c4b8dae693dc6488ecc7b5c6.png)
学生首页
![](https://img-blog.csdnimg.cn/img_convert/35455e28cc6f636c685425b74d6b95fb.png)
数据库:
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50717
Source Host : localhost:3306
Source Database : ea-system
Target Server Type : MYSQL
Target Server Version : 50717
File Encoding : 65001
Date: 2019-11-14 12:10:32
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for classsurface
-- ----------------------------
DROP TABLE IF EXISTS `classsurface`;
CREATE TABLE `classsurface` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`clas` varchar(255) DEFAULT NULL,
`headmaster` varchar(255) DEFAULT NULL,
`number` int(11) DEFAULT NULL,
`motto` varchar(255) DEFAULT NULL,
`headmasterIds` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of classsurface
-- ----------------------------
INSERT INTO `classsurface` VALUES ('1', '1711', '冷红丽', '2', '好好学习,天天向上', '522222196702304387');
INSERT INTO `classsurface` VALUES ('2', '1712', '王志海', '1', '好好学习,天天向上', '522222198708093265');
INSERT INTO `classsurface` VALUES ('3', '1713', '同心', '3', '好好学习,天天向上', '522222199011087865');
INSERT INTO `classsurface` VALUES ('4', '1714', '奥斯', '1', '好好学习,天天向上', '522222198709087809');
INSERT INTO `classsurface` VALUES ('5', '1715', '姜丹', '4', '好好学习,天天向上', '522222198310303254');
INSERT INTO `classsurface` VALUES ('6', '1716', '绕博', '1', '好好学习,天天向上', '522222199212098790');
-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ids` varchar(255) NOT NULL,
`score` int(255) DEFAULT NULL,
`course` varchar(255) DEFAULT NULL,
`clas` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=186 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES ('180', '2017030907', '70', 'c语言基础知识', '1713', '王大');
INSERT INTO `score` VALUES ('181', '2017030766', '10', 'c语言基础知识', '1715', '石高峰');
INSERT INTO `score` VALUES ('182', '2017030909', '70', 'c语言基础知识', '1716', '刘正');
INSERT INTO `score` VALUES ('183', '2017080776', '10', 'c语言基础知识', '1711', '小飞');
INSERT INTO `score` VALUES ('184', '2017030782', '20', 'c语言基础知识', '1712', '杨志');
INSERT INTO `score` VALUES ('185', '2017030787', '10', 'c语言基础知识', '1711', '杨刚');
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ids` varchar(255) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`identity` varchar(255) DEFAULT NULL,
`clas` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`gender` varchar(255) DEFAULT NULL,
`score` int(255) DEFAULT NULL,
PRIMARY KEY (`id`,`ids`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('8', '2017030771', '小江', '学生', '1715', '22', '男', null);
INSERT INTO `student` VALUES ('10', '2017030776', '王忠', '学生', '1715', '22', '男', null);
INSERT INTO `student` VALUES ('11', '2017030774', '王忠祥', '学生', '1715', '22', '女', null);
INSERT INTO `student` VALUES ('14', '2017030907', '王大', '学生', '1713', '21', '男', '70');
INSERT INTO `student` VALUES ('15', '2017030787', '杨刚', '学生', '1711', '21', '男', '10');
INSERT INTO `student` VALUES ('16', '2017030782', '杨志', '学生', '1712', '21', '男', '20');
INSERT INTO `student` VALUES ('17', '2017030896', '张扬', '学生', '1713', '21', '男', null);
INSERT INTO `student` VALUES ('18', '2017030987', '傲龙', '学生', '1714', '21', '男', null);
INSERT INTO `student` VALUES ('19', '2017030909', '刘正', '学生', '1716', '21', '男', '70');
INSERT INTO `student` VALUES ('20', '2017080776', '小飞', '学生', '1711', '21', '男', '10');
INSERT INTO `student` VALUES ('22', '2017030766', '石高峰', '学生', '1713', '22', '女', '10');
INSERT INTO `student` VALUES ('23', '2017030997', '老虎', '学生', '1715', '22', '男', null);
-- ----------------------------
-- Table structure for teacher
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ids` varchar(255) DEFAULT NULL,
`identity` varchar(255) DEFAULT NULL,
`position` varchar(255) DEFAULT NULL,
`clas` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`gender` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of teacher
-- ----------------------------
INSERT INTO `teacher` VALUES ('1', '522222198310303254', '老师', '班主任', '1715', '43', '男', '姜丹');
INSERT INTO `teacher` VALUES ('2', '522222196702304387', '老师', '班主任', '1711', '28', '女', '冷红丽');
INSERT INTO `teacher` VALUES ('3', '522222198708093265', '老师', '班主任', '1712', '31', '男', '王志海');
INSERT INTO `teacher` VALUES ('4', '522222199011087865', '老师', '班主任', '1713', '43', '女', '同心');
INSERT INTO `teacher` VALUES ('5', '522222198709087809', '老师', '班主任', '1714', '28', '男', '奥斯');
INSERT INTO `teacher` VALUES ('6', '522222199212098790', '老师', '班主任', '1716', '31', '男', '绕博');
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`ids` varchar(255) NOT NULL,
`password` varchar(255) DEFAULT NULL,
`identity` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`,`ids`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '522222196702304387', '1234', '老师');
INSERT INTO `user` VALUES ('2', '522222198310303254', '1234', '老师');
INSERT INTO `user` VALUES ('3', '522222198708093265', '1234', '老师');
INSERT INTO `user` VALUES ('4', '522222199011087865', '1234', '老师');
INSERT INTO `user` VALUES ('5', '522222198709087809', '1234', '老师');
INSERT INTO `user` VALUES ('6', '522222199212098790', '1234', '老师');
INSERT INTO `user` VALUES ('10', '2017030771', '1234', '学生');
INSERT INTO `user` VALUES ('12', '2017030776', '1234', '学生');
INSERT INTO `user` VALUES ('13', '2017030774', '1234', '学生');
INSERT INTO `user` VALUES ('16', '2017030907', '1234', '学生');
INSERT INTO `user` VALUES ('17', '2017030787', '1234', '学生');
INSERT INTO `user` VALUES ('18', '2017030782', '1234', '学生');
INSERT INTO `user` VALUES ('19', '2017030896', '1234', '学生');
INSERT INTO `user` VALUES ('20', '2017030987', '1234', '学生');
INSERT INTO `user` VALUES ('21', '2017030909', '1234', '学生');
INSERT INTO `user` VALUES ('22', '2017080776', '1234', '学生');
INSERT INTO `user` VALUES ('23', '2017030766', '1234', '学生');
INSERT INTO `user` VALUES ('24', '2017030997', '1234', '学生');
核心代码:
学生处理层:
package com.shool.controller;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.shool.po.Student;
import com.shool.po.User;
import com.shool.service.StudentService;
import com.shool.service.TimeService;
import com.shool.po.Divideequally;
import com.shool.po.Score;
@Controller
public class StudentController {
@Autowired
public StudentService studentService;
@Autowired
public TimeService timeService;
@RequestMapping(value="student")
public String toStudent(Model model,HttpSession session){
User users = (User) session.getAttribute("USER_SESSION");
//查询学生所有信息
Student student = studentService.ueruStudent(users.getIds());
//查询学生是否已经考试
Score score = studentService.ueruScore(users.getIds());
//获取当前时间
String time = timeService.times();
model.addAttribute("time", time);
//把所有学生信息存入session中
session.setAttribute("STUDENT_SESSION", student);
if(score != null){
int achievement = score.getScore();
model.addAttribute("achievement", achievement);
return "Achievement";
}
return "Student";
}
//进入考试试卷界面
@RequestMapping(value="paper")
public String testQaper(HttpSession session,Model model){
Student student = (Student) session.getAttribute("STUDENT_SESSION");
model.addAttribute("student_model", student);
return "Paper";
}
//对试卷进行打分
@RequestMapping(value="Divideequally")
public String Divideequally(Divideequally divideequally,Model model,HttpSession session){
List<String> listok = divideequally.getCheckok();
int achievement;
achievement = listok.size()*10-10;
Student student = (Student) session.getAttribute("STUDENT_SESSION");
student.setScore(achievement);
//创建一个成绩对象
Score score = new Score();
score.setIds(student.getIds());
score.setCourse("c语言基础知识");
score.setScore(achievement);
score.setClas(student.getClas());
score.setName(student.getName());
//成绩数据插入表
studentService.keepScore(score);
studentService.keepStudent(student);
model.addAttribute("achievement", achievement);
return "Achievement";
}
}
老师处理层:
package com.shool.controller;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.apache.tools.ant.taskdefs.condition.Http;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.shool.po.Score;
import com.shool.po.Student;
import com.shool.po.Teacher;
import com.shool.po.User;
import com.shool.po.classSurface;
import com.shool.service.StudentService;
import com.shool.service.TeacherService;
import com.shool.service.TimeService;
@Controller
public class TeacherController {
@Autowired
public StudentService studentService;
@Autowired
public TimeService timeService;
@Autowired
public TeacherService teacherService;
@RequestMapping(value="teacher")
public String setTeacher(HttpSession session,Model model){
User user = (User) session.getAttribute("USER_SESSION");
Teacher teacher = teacherService.ueruTeacher(user.getIds());
session.setAttribute("TEACHER_SESSION", teacher);
String time = timeService.times();
model.addAttribute("teacher", teacher);
model.addAttribute("time", time);
return "Teacher";
}
//修改老师个人基本信息
@RequestMapping(value="modify")
public String modify(Teacher teacher,HttpSession session){
Teacher teacherIds = (Teacher) session.getAttribute("TEACHER_SESSION");
teacher.setIds(teacherIds.getIds());
teacherService.modifyTeacher(teacher);
return "redirect:teacher";
}
//跳转到学生管理界面
@RequestMapping(value="studentRuns")
public String studentRun(Model model,HttpSession session,String run){
session.removeAttribute("RUN");
model.addAttribute("run", run);
session.setAttribute("RUN", run);
List<Student> student = teacherService.userStudent();
model.addAttribute("student", student);
return "studentRun";
}
//学生管理界面查询
@RequestMapping(value="ueru")
public String ueru(Model model,Student student,HttpSession session){
String run = (String) session.getAttribute("RUN");
List<Student> listStudent = teacherService.ueruStudents(student);
model.addAttribute("student", listStudent);
model.addAttribute("studentUeru", student);
model.addAttribute("run", run);
return "studentRun";
}
//跳转修改学生信息
@RequestMapping(value="modifyDIV")
public String modifyDIV(HttpSession session,Model model,String ids){
session.removeAttribute("RUN");
model.addAttribute("run", "d");
session.setAttribute("RUN", "d");
Student student = teacherService.ueruStudentIDS(ids);
model.addAttribute("studentsd", student);
return "studentRun";
}
//修改学生信息
@RequestMapping(value="modifyStudent")
public String modifyStudent(Model model,Student students,HttpSession session){
int modify = teacherService.modifyStudent(students);
if(modify > 0){
Student studentsd = teacherService.ueruStudentIDS(students.getIds());
model.addAttribute("studentsd", studentsd);
model.addAttribute("modify", "修改成功!");
}else {
model.addAttribute("modify", "修改失败!");
model.addAttribute("studentsd", students);
}
List<Student> student = teacherService.userStudent();
model.addAttribute("student", student);
session.removeAttribute("RUN");
model.addAttribute("run", "d");
session.setAttribute("RUN", "d");
return "studentRun";
}
//从修改div返回到查询出的结果div
@RequestMapping(value="returnModify")
public String returnModify(HttpSession session,Model model){
session.removeAttribute("RUN");
model.addAttribute("run", "k");
session.setAttribute("RUN", "k");
List<Student> student = teacherService.userStudent();
model.addAttribute("student", student);
return "studentRun";
}
//删除指定学生
@RequestMapping(value="removeStudent")
public String removeStudent(String ids,HttpSession session,Model model){
String run = (String) session.getAttribute("RUN");
model.addAttribute("run", run);
model.addAttribute("removerIds", ids);
int i = teacherService.removerStudent(ids);
int y = teacherService.removerUserStudent(ids);
int k = teacherService.removerScore(ids);
List<Student> student = teacherService.userStudent();
model.addAttribute("student", student);
if(i > 0 && y >0){
model.addAttribute("modify", "删除成功!");
}else{
model.addAttribute("modify", "删除失败!");
}
return "studentRun";
}
//添加学生
@RequestMapping(value="addStudent")
public String addStudent(HttpSession session,Model model,Student student){
String run = (String)session.getAttribute("RUN");
model.addAttribute("run", run);
List<Student> students = teacherService.userStudent();
model.addAttribute("student", students);
Student st = teacherService.ueruStudentIDS(student.getIds());
if(student.getAge() != null && student.getName() != null && student.getIds() != null && st == null
&& student.getClas() != null && student.getGender() != null){
student.setIdentity("学生");
int studentin = teacherService.addStudent(student);
User user = new User();
user.setIds(student.getIds());
user.setPassword("1234");
user.setIdentity(student.getIdentity());
int userin = teacherService.addUser(user);
if(studentin <= 0 && userin <= 0){
teacherService.removerStudent(student.getIds());
teacherService.removerUserStudent(student.getIds());
model.addAttribute("modify", "添加失败!学号可能已存在!");
}else{
model.addAttribute("modify", "添加成功!");
}
}else{
model.addAttribute("modify", "不能留空或该学号已经存在!");
}
model.addAttribute("addStudent", student);
return "studentRun";
}
//班级管理,人数查询
@RequestMapping(value="classNumber")
public String classNumber(HttpSession session,Model model){
teacherService.modifyClass("1711");
teacherService.modifyClass("1712");
teacherService.modifyClass("1713");
teacherService.modifyClass("1714");
teacherService.modifyClass("1715");
teacherService.modifyClass("1716");
List<classSurface> listClass = teacherService.ueruClass();
model.addAttribute("listClass", listClass);
return "classRun";
}
}
用户登陆处理层:
package com.shool.controller;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.shool.po.User;
import com.shool.service.LoginService;
@Controller
public class UserController {
@Autowired
public LoginService loginService;
@RequestMapping(value="login")
public String login(){
return "logins";
}
@RequestMapping(value="/logins")
public String logins(User user,Model model,HttpSession session) {
if(user.getIdentity() != null){
user.setIdentity("老师");
}else{
user.setIdentity("学生");
}
User users = loginService.validatelogon(user);
if(users != null){
if(users.getIdentity().equals("老师")){
session.setAttribute("USER_SESSION", users);
return "redirect:teacher";
}else if(users.getIdentity().equals("学生")){
session.setAttribute("USER_SESSION", users);
return "redirect:student";
}
}
model.addAttribute("user", user);
model.addAttribute("feedback", "用户信息输入错误!");
return "Login";
}
//退出登录
@RequestMapping(value="/logout")
public String logout(HttpSession session){
session.invalidate();
return "Login";
}
}
源码传送门:源码传送门