基于javaweb+mysql的ssm学生成绩管理系统(spring+jsp+mysql+tomcat)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM学生成绩管理系统(spring+jsp+mysql+tomcat)
分为:
教师、学生、管理员
管理员:
admin 123456
教师:
t1 123456
学生:
s1 123456
*[管理员]可以继续添加[教师]和[学生]
@RequestMapping(value = "/delete", method = RequestMethod.GET)
public String deleteStu(Course course) {
if (courseService.deleteCourse(course)) {
return "redirect:/course/getCourse";
} else {
return "MainPage";
}
}
@RequestMapping(value = "/findCourse", method = RequestMethod.POST)
public String findCourse(Model m, Course course) {
List courses = courseService.findCourse(course);
m.addAttribute("courses", courses);
return "CourseInfoProtect";
}
}
@Controller
public class LoginController {
private LoginService loginService = new LoginServiceImpl();
/**
* 登录查询出来的学生实体放入session
*
* @param
* @param session
* @return
*/
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(User user, HttpSession session) {
/**
* user表里面的数据必须来自其他两个表
/**
*
*/
@Controller
// 注解绑定,可以通过url进行访问
@RequestMapping("/score")
public class ScoreController {
private ScoreService scoService = new ScoreServiceImpl();
private TeacherService teaService = new TeacherServiceImpl();
@RequestMapping("/getScore")
public String getScore(Model m) {
List<Score> scos = scoService.getScore();
User user = (User) ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession().getAttribute("user");
if (user.getRole().equalsIgnoreCase("学生")) {
scos = scos.stream().filter(o -> o.getStudentNo().equalsIgnoreCase(user.getUsername())).collect(Collectors.toList());
}
List<Teacher> teas = teaService.getTeacher();
if (user.getRole().equalsIgnoreCase("教师")) {
teas = teas.stream().filter(o -> o.getTeacherNo().equalsIgnoreCase(user.getUsername())).collect(Collectors.toList());
}
m.addAttribute("teas", teas);// 存在model 中
m.addAttribute("scos", scos);
return "ScoreInfoProtect";
}
if (null != stu) {
m.addAttribute("stu", stu);
m.addAttribute("courses", courses);
m.addAttribute("teas", teas);
return "ElectiveInfoAdd";
} else {
return "MainPage";
}
}
@RequestMapping("/add")
public String addElective(Elective elective) {
boolean result = eleService.addElective(elective);
if (result) {
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
@RequestMapping(value = "/find", method = RequestMethod.POST)
public String findElective(Model m, Elective elective) {
List eles = eleService.findElective(elective);
m.addAttribute("electives", eles);
return "ElectiveInfoProtect";
}
@RequestMapping(value = "/delete", method = RequestMethod.GET)
public String deleteElective(Elective elective) {
if (eleService.deleteElective(elective)) {
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
@RequestMapping("/getEleById")
public String getEleById(Model m, Elective elective) {
Elective s = eleService.getEleById(elective.getId());
m.addAttribute("electives", s);
return "ElectiveInfoUpdate";
}
@RequestMapping(value = "/update", method = RequestMethod.POST)
public String updateEle(Elective elective) {
if (eleService.updateEle(elective)) {
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
User user = (User) ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession().getAttribute("user");
//定义了一个集合类,保存所有的学生对象
List<Student> stus = stuService.getStudent();
List<Subject> subs = subService.getSubject();
List<Grade> gras = graService.getGrade();
List<String> listTemp = new <String>ArrayList();
for (int i = 0; i < gras.size(); i++) {
System.out.print(gras.get(i).getGradeName());
if (!listTemp.contains(gras.get(i).getGradeName())) {
listTemp.add(gras.get(i).getGradeName());
}
}
if (user.getRole().equalsIgnoreCase("学生")) {
stus = stus.stream().filter(o -> o.getStudentNo().equalsIgnoreCase(user.getUsername())).collect(Collectors.toList());
}
m.addAttribute("stus", stus);//存在model 中
m.addAttribute("gras", listTemp);//存在model 中
m.addAttribute("subs", subs);
return "StudentInfoProtect";//调用这个jsp 界面
}
@RequestMapping(value = "/findStudent", method = RequestMethod.POST)
public String findStudent(Model m, Student stu) {
List stus = stuService.findStudent(stu);
m.addAttribute("stus", stus);
List<Subject> subs = subService.getSubject();
List<Grade> gras = graService.getGrade();
List<String> listTemp = new <String>ArrayList();
for (int i = 0; i < gras.size(); i++) {
System.out.print(gras.get(i).getGradeName());
if (!listTemp.contains(gras.get(i).getGradeName())) {
listTemp.add(gras.get(i).getGradeName());
}
}
m.addAttribute("gras", listTemp);
m.addAttribute("subs", subs);
return "StudentInfoProtect";
}
@RequestMapping("/getStuById")
public String getStuById(Model m, Student stu) {
m.addAttribute("scos", scos);
return "ScoreInfoProtect";
}
@RequestMapping(value = "/findScore", method = RequestMethod.POST)
public String findScore(Model m, Teacher tea) {
List scos = scoService.findScore(tea);
List teas = teaService.getTeacher();
m.addAttribute("teas", teas);// 存在model 中
m.addAttribute("scos", scos);
return "ScoreInfoProtect";
}
@RequestMapping("/getScoreById")
public String getScoreById(Model m, Score sco) {
Score s = scoService.getScoreById(sco.getId());
m.addAttribute("scos", s);
return "ScoreInfoUpdate";
}
@RequestMapping(value = "/updateScore", method = RequestMethod.POST)
public String updateScore(Score sco) {
if (scoService.updateScore(sco)) {
return "redirect:/score/getScore";
} else {
return "MainPage";
}
}
// @RequestMapping(value = "/delete", method = RequestMethod.GET)
// public String deleteScore(Score sco) {
// if (scoService.deleteScore(sco)) {
// return "redirect:/score/getScore";
// } else {
// return "MainPage";
// }
// }
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
*/
@Controller
// 注解绑定,可以通过url进行访问
@RequestMapping("/grade")
public class GradeController {
private GradeService graService = new GradeServiceImpl();
private SubjectService subService = new SubjectServiceImpl();
@RequestMapping("/add")
public String addGrade(Grade gra) {
boolean result = graService.addGrade(gra);
if (result) {
return "redirect:/grade/getGrade";
} else {
return "MainPage";
}
}
@RequestMapping("/getGrade")
public String getGrade(Model m) {
// 定义了一个集合类,保存所有的学生对象
List gras = graService.getGrade();
m.addAttribute("gras", gras);// 存在model 中
List<Subject> subs = subService.getSubject();
m.addAttribute("subs", subs);
return "GradeInfoProtect";// 调用这个jsp 界面
}
@RequestMapping(value = "/findGrade", method = RequestMethod.POST)
public String findGrade(Model m, Grade gra) {
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
*/
@Controller
@RequestMapping("/subject")
public class SubjectController {
private SubjectService subService = new SubjectServiceImpl();
@RequestMapping("/getSubject")
public String getSubject(Model b) {
//定义了一个集合类,保存所有的院系对象
List sub = subService.getSubject();
b.addAttribute("subs", sub);//存在model 中
return "SubjectInfoProtect";//调用这个jsp 界面
}
@RequestMapping("/add")
public String addSubject(Subject sub) {
boolean result = subService.addSubject(sub);
if (result) //重定向
{
return "redirect:/subject/getSubject";
} else {
return "MainPage";
}
}
@RequestMapping(value = "/getSubjectForAdd", method = RequestMethod.GET)
public String getSubjectForAdd(Model model) {
List<Subject> subs = null;
subs = subService.getSubjectForAdd();
model.addAttribute("subs", subs);
return "/subject/SubjectInfoAdd";
}
@RequestMapping("/getSubById")
@RequestMapping(value = "/deleteGra", method = RequestMethod.GET)
public String deleteGra(Grade gra) {
if (graService.deleteGra(gra)) {
return "redirect:/grade/getGrade";
} else {
return "MainPage";
}
}
}
public class LoginFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 获得在下面代码中要用的request,response,session对象
HttpServletRequest servletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
HttpSession session = servletRequest.getSession();
// 获得用户请求的URI
String path = servletRequest.getRequestURI();
// 从session里取学生信息
Object stu = session.getAttribute("student");
Object user = session.getAttribute("user");
// 登陆页面无需过滤
//图片,样式不能过滤
if(path.indexOf("LoginPage.jsp") > 0 || path.indexOf("login") > 0||
@Controller
//注解绑定,可以通过url进行访问
@RequestMapping("/student")
public class StudentController {
private StudentService stuService = new StudentServiceImpl();
private SubjectService subService = new SubjectServiceImpl();
private GradeService graService = new GradeServiceImpl();
private CourseService courseService = new CourseServiceImpl();
@RequestMapping("/add")
public String addStudent(Student stu) {
boolean result = stuService.addStudent(stu);
if (result) {
return "redirect:/student/getStudent";
} else {
return "MainPage";
}
}
@RequestMapping("/preAdd")
public String toAddStudent(Student stu, Model m) {
List<Subject> subs = subService.getSubject();
List<Grade> gras = graService.getGrade();
List<String> listTemp = new <String>ArrayList();
for (int i = 0; i < gras.size(); i++) {
System.out.print(gras.get(i).getGradeName());
if (!listTemp.contains(gras.get(i).getGradeName())) {
listTemp.add(gras.get(i).getGradeName());
}
}
m.addAttribute("gras", listTemp);
m.addAttribute("subs", subs);
if (stu != null) {
return "StudentInfoAdd";
} else {
return "MainPage";
}
}
@RequestMapping("/getStudent")
public String getStudent(Model m) {
User user = (User) ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession().getAttribute("user");
//定义了一个集合类,保存所有的学生对象
List<Student> stus = stuService.getStudent();
List<Subject> subs = subService.getSubject();
}
@RequestMapping("/add")
public String addSubject(Subject sub) {
boolean result = subService.addSubject(sub);
if (result) //重定向
{
return "redirect:/subject/getSubject";
} else {
return "MainPage";
}
}
@RequestMapping(value = "/getSubjectForAdd", method = RequestMethod.GET)
public String getSubjectForAdd(Model model) {
List<Subject> subs = null;
subs = subService.getSubjectForAdd();
model.addAttribute("subs", subs);
return "/subject/SubjectInfoAdd";
}
@RequestMapping("/getSubById")
public String getSubById(Model m, Subject sub) {
Subject s = subService.getSubById(sub.getId());
m.addAttribute("sub", s);
return "SubjectInfoUpdate";
}
@RequestMapping(value = "/findSubject", method = RequestMethod.POST)
public String findSubject(Model m, Subject sub) {
List subs = subService.findSubject(sub);
m.addAttribute("subs", subs);
return "SubjectInfoProtect";
}
@RequestMapping(value = "/updateSub", method = RequestMethod.POST)
public String updateSub(Subject sub) {
if (subService.updateSub(sub)) {
return "redirect:/subject/getSubject";
} else {
return "MainPage";
}
} else {
return "MainPage";
}
}
@RequestMapping(value = "/getSubjectForAdd", method = RequestMethod.GET)
public String getSubjectForAdd(Model model) {
List<Subject> subs = null;
subs = subService.getSubjectForAdd();
model.addAttribute("subs", subs);
return "/subject/SubjectInfoAdd";
}
@RequestMapping("/getSubById")
public String getSubById(Model m, Subject sub) {
Subject s = subService.getSubById(sub.getId());
m.addAttribute("sub", s);
return "SubjectInfoUpdate";
}
@RequestMapping(value = "/findSubject", method = RequestMethod.POST)
public String findSubject(Model m, Subject sub) {
List subs = subService.findSubject(sub);
m.addAttribute("subs", subs);
return "SubjectInfoProtect";
}
@RequestMapping(value = "/updateSub", method = RequestMethod.POST)
public String updateSub(Subject sub) {
if (subService.updateSub(sub)) {
return "redirect:/subject/getSubject";
} else {
return "MainPage";
}
}
@RequestMapping(value = "/deleteSub", method = RequestMethod.GET)
public String deleteSub(Subject sub) {
if (subService.deleteSub(sub)) {
return "redirect:/subject/getSubject";
} else {
return "MainPage";
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
@RequestMapping(value = "/find", method = RequestMethod.POST)
public String findElective(Model m, Elective elective) {
List eles = eleService.findElective(elective);
m.addAttribute("electives", eles);
return "ElectiveInfoProtect";
}
@RequestMapping(value = "/delete", method = RequestMethod.GET)
public String deleteElective(Elective elective) {
if (eleService.deleteElective(elective)) {
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
@RequestMapping("/getEleById")
public String getEleById(Model m, Elective elective) {
Elective s = eleService.getEleById(elective.getId());
m.addAttribute("electives", s);
return "ElectiveInfoUpdate";
}
@RequestMapping(value = "/update", method = RequestMethod.POST)
public String updateEle(Elective elective) {
if (eleService.updateEle(elective)) {
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
*/
@Controller
// 注解绑定,可以通过url进行访问
@RequestMapping("/grade")
public class GradeController {
private GradeService graService = new GradeServiceImpl();
private SubjectService subService = new SubjectServiceImpl();
@RequestMapping("/add")
public String addGrade(Grade gra) {
boolean result = graService.addGrade(gra);
if (result) {
return "redirect:/grade/getGrade";
} else {
return "MainPage";
}
}
@RequestMapping("/getGrade")
public String getGrade(Model m) {
// 定义了一个集合类,保存所有的学生对象
List gras = graService.getGrade();
m.addAttribute("gras", gras);// 存在model 中
List<Subject> subs = subService.getSubject();
m.addAttribute("subs", subs);
return "GradeInfoProtect";// 调用这个jsp 界面
}
@RequestMapping(value = "/findGrade", method = RequestMethod.POST)
public String findGrade(Model m, Grade gra) {
List gras = graService.findGrade(gra);
m.addAttribute("gras", gras);
List<Subject> subs = subService.getSubject();
m.addAttribute("subs", subs);
return "GradeInfoProtect";
}
@RequestMapping("/getGraById")
public String getGraById(Model m, Grade gra) {
Grade s = graService.getGraById(gra.getId());
m.addAttribute("gra", s);
return "GradeInfoUpdate";
}
if (eleService.deleteElective(elective)) {
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
@RequestMapping("/getEleById")
public String getEleById(Model m, Elective elective) {
Elective s = eleService.getEleById(elective.getId());
m.addAttribute("electives", s);
return "ElectiveInfoUpdate";
}
@RequestMapping(value = "/update", method = RequestMethod.POST)
public String updateEle(Elective elective) {
if (eleService.updateEle(elective)) {
return "redirect:/elective/getElective";
} else {
return "MainPage";
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
*/
@Controller
//注解绑定,可以通过url进行访问
@RequestMapping("/teacher")
public class TeacherController {
private TeacherService teaService = new TeacherServiceImpl();
private CourseService courseService = new CourseServiceImpl();
@RequestMapping("/add")
public String addTeacher(Teacher tea) {
boolean result = teaService.addTeacher(tea);
if (result) {
return "redirect:/teacher/getTeacher";
} else {
return "MainPage";
}
@Override
public void destroy() {
}
}
@RequestMapping("/course")
@Controller
public class CourseController {
private CourseService courseService = new CourseServiceImpl();
/**
* 获取所有课程信息
*
* @param m
* @return
*/
@RequestMapping("/getCourse")
public String getCourse(Model m) {
List courses = courseService.getCourse();
m.addAttribute("courses", courses);
return "CourseInfoProtect";
}
@RequestMapping("/add")
public String addCourse(Course course) {
boolean result = courseService.addCourse(course);
if (result) {
return "redirect:/course/getCourse";
}
@RequestMapping("/getGrade")
public String getGrade(Model m) {
// 定义了一个集合类,保存所有的学生对象
List gras = graService.getGrade();
m.addAttribute("gras", gras);// 存在model 中
List<Subject> subs = subService.getSubject();
m.addAttribute("subs", subs);
return "GradeInfoProtect";// 调用这个jsp 界面
}
@RequestMapping(value = "/findGrade", method = RequestMethod.POST)
public String findGrade(Model m, Grade gra) {
List gras = graService.findGrade(gra);
m.addAttribute("gras", gras);
List<Subject> subs = subService.getSubject();
m.addAttribute("subs", subs);
return "GradeInfoProtect";
}
@RequestMapping("/getGraById")
public String getGraById(Model m, Grade gra) {
Grade s = graService.getGraById(gra.getId());
m.addAttribute("gra", s);
return "GradeInfoUpdate";
}
@RequestMapping(value = "/updateGra", method = RequestMethod.POST)
public String updateGra(Grade gra) {
System.out.print("121w1edwefdwefw");
System.out.print(gra.getGradeName());
if (graService.updateGra(gra)) {
return "redirect:/grade/getGrade";
} else {
return "MainPage";
}
}
@RequestMapping(value = "/deleteGra", method = RequestMethod.GET)
public String deleteGra(Grade gra) {
if (graService.deleteGra(gra)) {
return "redirect:/grade/getGrade";
} else {
return "MainPage";