基于javaweb+mysql的ssm+maven教务信息查询系统(java+ssm+bootstrap+c3p0+maven+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM+Maven教务信息查询系统(java+ssm+bootstrap+c3p0+maven+mysql)
项目简介
该项目是一个简单的教务查询系统,分别授予管理员,教师,学生不同的权限,达到基本的数据查询与修改操作。
管理员主要功能: 课程管理、学生管理、教师管理; 教师主要功能: 查看我教授的课程列表、查看学生成绩列表、给学生打分; 学生主要功能:
查看所有课程列表、选课、查看所修课程等;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本;
使用技术
IOC容器:Spring Web框架:SpringMVC ORM框架:Mybatis 安全框架:Shiro 数据源:C3P0 日志:log4j 前端框架:Bootstrap
使用说明
-
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包;
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 3. 将项目中mysql.properties配置文件中的数据库配置改为自己的配置 4. 配置tomcat,然后运行项目,输入localhost:8080/xxx 登录 5. 管理员账户:admin 密码:123 教师账号:1001 密码:123
学生账号:10001 密码:123
model.addAttribute("collegeList", list);
model.addAttribute("student", studentCustom);
return "admin/editStudent";
}
// 修改学生信息处理
@RequestMapping(value = "/editStudent", method = {RequestMethod.POST})
public String editStudent(StudentCustom studentCustom) throws Exception {
studentService.updataById(studentCustom.getUserid(), studentCustom);
//重定向
return "redirect:/admin/showStudent";
}
// 删除学生
@RequestMapping(value = "/removeStudent", method = {RequestMethod.GET} )
public String removeStudent(Integer id) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "admin/showStudent";
}
try {
studentService.removeById(id);
userloginService.removeByName(id.toString());
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/admin/showStudent";
}
// 搜索学生
@RequestMapping(value = "selectStudent", method = {RequestMethod.POST})
public String selectStudent(String findByName, Model model) throws Exception {
List<StudentCustom> list = studentService.findByName(findByName);
model.addAttribute("studentList", list);
return "admin/showStudent";
}
/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<教师操作>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
// 教师页面显示
@RequestMapping("/showTeacher")
public String showTeacher(Model model, Integer page) throws Exception {
List<TeacherCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
model.addAttribute("pagingVO", pagingVO);
return "student/showCourse";
}
// 选课操作
@RequestMapping(value = "/stuSelectedCourse")
public String stuSelectedCourse(int id) throws Exception {
//获取当前用户名
Subject subject = SecurityUtils.getSubject();
String username = (String) subject.getPrincipal();
SelectedCourseCustom selectedCourseCustom = new SelectedCourseCustom();
selectedCourseCustom.setCourseid(id);
selectedCourseCustom.setStudentid(Integer.parseInt(username));
SelectedCourseCustom s = selectedCourseService.findOne(selectedCourseCustom);
if (s == null) {
selectedCourseService.save(selectedCourseCustom);
} else {
throw new CustomException("该门课程你已经选了,不能再选");
}
return "redirect:/student/selectedCourse";
}
// 退课操作
@RequestMapping(value = "/outCourse")
public String outCourse(int id) throws Exception {
Subject subject = SecurityUtils.getSubject();
String username = (String) subject.getPrincipal();
SelectedCourseCustom selectedCourseCustom = new SelectedCourseCustom();
selectedCourseCustom.setCourseid(id);
selectedCourseCustom.setStudentid(Integer.parseInt(username));
selectedCourseService.remove(selectedCourseCustom);
return "redirect:/student/selectedCourse";
}
return modelAndView;
}
}
package com.demo.controller;
/**
*/
@Controller
public class LoginController {
//登录跳转
@RequestMapping(value = "/login", method = {RequestMethod.GET})
public String loginUI() throws Exception {
return "../../login";
}
//登录表单处理
@RequestMapping(value = "/login", method = {RequestMethod.POST})
public String login(Userlogin userlogin) throws Exception {
//Shiro实现登录
UsernamePasswordToken token = new UsernamePasswordToken(userlogin.getUsername(),
userlogin.getPassword());
Subject subject = SecurityUtils.getSubject();
//如果获取不到用户名就是登录失败,但登录失败的话,会直接抛出异常
subject.login(token);
if (subject.hasRole("admin")) {
return "redirect:/admin/showStudent";
} else if (subject.hasRole("teacher")) {
return "redirect:/teacher/showCourse";
} else if (subject.hasRole("student")) {
return "redirect:/student/showCourse";
}
return "/login";
}
/**
* 全局异常处理器
* springmvc提供一个HandlerExceptionResolver接口
* 只要实现该接口,并配置到spring 容器里,该类就能
* 成为默认全局异常处理类
*
* 全局异常处理器只有一个,配置多个也没用。
*/
public class CustomExceptionResolver implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView modelAndView = new ModelAndView();
CustomException customException;
if (e instanceof CustomException) {
customException = (CustomException)e;
} else if (e instanceof UnknownAccountException) {
//用户名错误异常
modelAndView.addObject("message", "没有该用户");
modelAndView.setViewName("error");
return modelAndView;
} else if (e instanceof IncorrectCredentialsException) {
//用户名错误异常
modelAndView.addObject("message", "密码错误");
modelAndView.setViewName("error");
return modelAndView;
} else {
customException = new CustomException("未知错误");
}
//错误信息
String message = customException.getMessage();
//错误信息传递和错误页面跳转
modelAndView.addObject("message", message);
modelAndView.setViewName("error");
return modelAndView;
}
}
package com.demo.controller;
/**
*/
@Controller
@RequestMapping(value = "/student")
public class StudentController {
@Autowired
private CourseService courseService;
@Autowired
private StudentService studentService;
@Autowired
private SelectedCourseService selectedCourseService;
@RequestMapping(value = "/showCourse")
public String stuCourseShow(Model model, Integer page) throws Exception {
List<CourseCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(courseService.getCountCouse());
if (page == null || page == 0) {
pagingVO.setToPageNo(1);
list = courseService.findByPaging(1);
} else {
pagingVO.setToPageNo(page);
list = courseService.findByPaging(page);
}
// 已选课程
@RequestMapping(value = "/selectedCourse")
public String selectedCourse(Model model) throws Exception {
//获取当前用户名
Subject subject = SecurityUtils.getSubject();
StudentCustom studentCustom = studentService.findStudentAndSelectCourseListByName((String) subject.getPrincipal());
List<SelectedCourseCustom> list = studentCustom.getSelectedCourseList();
model.addAttribute("selectedCourseList", list);
return "student/selectCourse";
}
// 已修课程
@RequestMapping(value = "/overCourse")
public String overCourse(Model model) throws Exception {
//获取当前用户名
Subject subject = SecurityUtils.getSubject();
StudentCustom studentCustom = studentService.findStudentAndSelectCourseListByName((String) subject.getPrincipal());
List<SelectedCourseCustom> list = studentCustom.getSelectedCourseList();
model.addAttribute("selectedCourseList", list);
return "student/overCourse";
}
//修改密码
@RequestMapping(value = "/passwordRest")
public String passwordRest() throws Exception {
return "student/passwordRest";
}
}
package com.demo.controller;
//修改密码
@RequestMapping(value = "/passwordRest")
public String passwordRest() throws Exception {
return "student/passwordRest";
}
}
package com.demo.controller;
/**
*/
@Controller
@RequestMapping(value = "/teacher")
public class TeacherController {
@Autowired
private TeacherService teacherService;
@Autowired
private CourseService courseService;
@Autowired
// 删除学生
@RequestMapping(value = "/removeStudent", method = {RequestMethod.GET} )
public String removeStudent(Integer id) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "admin/showStudent";
}
try {
studentService.removeById(id);
userloginService.removeByName(id.toString());
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/admin/showStudent";
}
// 搜索学生
@RequestMapping(value = "selectStudent", method = {RequestMethod.POST})
public String selectStudent(String findByName, Model model) throws Exception {
List<StudentCustom> list = studentService.findByName(findByName);
model.addAttribute("studentList", list);
return "admin/showStudent";
}
/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<教师操作>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
// 教师页面显示
@RequestMapping("/showTeacher")
public String showTeacher(Model model, Integer page) throws Exception {
List<TeacherCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(teacherService.getCountTeacher());
if (page == null || page == 0) {
/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<其他操作>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
// 普通用户账号密码重置
@RequestMapping("/userPasswordRest")
public String userPasswordRestUI() throws Exception {
return "admin/userPasswordRest";
}
// 普通用户账号密码重置处理
@RequestMapping(value = "/userPasswordRest", method = {RequestMethod.POST})
public String userPasswordRest(Userlogin userlogin) throws Exception {
Userlogin u = userloginService.findByName(userlogin.getUsername());
if (u != null) {
if (u.getRole() == 0) {
throw new CustomException("该账户为管理员账户,没法修改");
}
u.setPassword(userlogin.getPassword());
userloginService.updateByName(userlogin.getUsername(), u);
} else {
throw new CustomException("没找到该用户");
}
return "admin/userPasswordRest";
}
// 本账户密码重置
@RequestMapping("/passwordRest")
public String passwordRestUI() throws Exception {
return "admin/passwordRest";
}
}
package com.demo.controller;
/**
model.addAttribute("collegeList", list);
return "admin/addStudent";
}
// 添加学生信息操作
@RequestMapping(value = "/addStudent", method = {RequestMethod.POST})
public String addStudent(StudentCustom studentCustom, Model model) throws Exception {
Boolean result = studentService.save(studentCustom);
if (!result) {
model.addAttribute("message", "学号重复");
return "error";
}
//添加成功后,也添加到登录表
Userlogin userlogin = new Userlogin();
userlogin.setUsername(studentCustom.getUserid().toString());
userlogin.setPassword("123");
userlogin.setRole(2);
userloginService.save(userlogin);
//重定向
return "redirect:/admin/showStudent";
}
// 修改学生信息页面显示
@RequestMapping(value = "/editStudent", method = {RequestMethod.GET})
public String editStudentUI(Integer id, Model model) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "redirect:/admin/showStudent";
}
StudentCustom studentCustom = studentService.findById(id);
if (studentCustom == null) {
throw new CustomException("未找到该名学生");
}
List<College> list = collegeService.finAll();
model.addAttribute("collegeList", list);
model.addAttribute("student", studentCustom);
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(studentService.getCountStudent());
if (page == null || page == 0) {
pagingVO.setToPageNo(1);
list = studentService.findByPaging(1);
} else {
pagingVO.setToPageNo(page);
list = studentService.findByPaging(page);
}
model.addAttribute("studentList", list);
model.addAttribute("pagingVO", pagingVO);
return "admin/showStudent";
}
// 添加学生信息页面显示
@RequestMapping(value = "/addStudent", method = {RequestMethod.GET})
public String addStudentUI(Model model) throws Exception {
List<College> list = collegeService.finAll();
model.addAttribute("collegeList", list);
return "admin/addStudent";
}
// 添加学生信息操作
@RequestMapping(value = "/addStudent", method = {RequestMethod.POST})
public String addStudent(StudentCustom studentCustom, Model model) throws Exception {
Boolean result = studentService.save(studentCustom);
if (!result) {
model.addAttribute("message", "学号重复");
return "error";
}
//添加成功后,也添加到登录表
Userlogin userlogin = new Userlogin();
userlogin.setUsername(studentCustom.getUserid().toString());
@RequestMapping(value = "/addCourse", method = {RequestMethod.POST})
public String addCourse(CourseCustom courseCustom, Model model) throws Exception {
Boolean result = courseService.save(courseCustom);
if (!result) {
model.addAttribute("message", "课程号重复");
return "error";
}
//重定向
return "redirect:/admin/showCourse";
}
// 修改教师信息页面显示
@RequestMapping(value = "/editCourse", method = {RequestMethod.GET})
public String editCourseUI(Integer id, Model model) throws Exception {
if (id == null) {
return "redirect:/admin/showCourse";
}
CourseCustom courseCustom = courseService.findById(id);
if (courseCustom == null) {
throw new CustomException("未找到该课程");
}
List<TeacherCustom> list = teacherService.findAll();
List<College> collegeList = collegeService.finAll();
model.addAttribute("teacherList", list);
model.addAttribute("collegeList", collegeList);
model.addAttribute("course", courseCustom);
return "admin/editCourse";
}
// 修改教师信息页面处理
@RequestMapping(value = "/editCourse", method = {RequestMethod.POST})
public String editCourse(CourseCustom courseCustom) throws Exception {
courseService.upadteById(courseCustom.getCourseid(), courseCustom);
//重定向
return "redirect:/admin/showCourse";
}
// 删除课程信息
@RequestMapping("/removeCourse")
public String removeCourse(Integer id) throws Exception {
if (id == null) {
//加入没有带教师id就进来的话就返回教师显示页面
return "admin/showCourse";
public String editCourse(CourseCustom courseCustom) throws Exception {
courseService.upadteById(courseCustom.getCourseid(), courseCustom);
//重定向
return "redirect:/admin/showCourse";
}
// 删除课程信息
@RequestMapping("/removeCourse")
public String removeCourse(Integer id) throws Exception {
if (id == null) {
//加入没有带教师id就进来的话就返回教师显示页面
return "admin/showCourse";
}
courseService.removeById(id);
return "redirect:/admin/showCourse";
}
//搜索课程
@RequestMapping(value = "selectCourse", method = {RequestMethod.POST})
public String selectCourse(String findByName, Model model) throws Exception {
List<CourseCustom> list = courseService.findByName(findByName);
model.addAttribute("courseList", list);
return "admin/showCourse";
}
//搜索课程
@RequestMapping(value = "selectCourse2")
public String selectCourse(String findByName) throws Exception {
System.out.println("444444444444444"+findByName);
System.out.println("444444444444444");
System.out.println("444444444444444");
System.out.println("444444444444444");
return "admin/showCourse";
}
//搜索课程
@RequestMapping(value = "selectCourse3")
public String selectCourse() throws Exception {
System.out.println("444444444444444");
System.out.println("444444444444444");
System.out.println("444444444444444");
model.addAttribute("teacherList", list);
return "admin/addCourse";
}
// 添加课程信息处理
@RequestMapping(value = "/addCourse", method = {RequestMethod.POST})
public String addCourse(CourseCustom courseCustom, Model model) throws Exception {
Boolean result = courseService.save(courseCustom);
if (!result) {
model.addAttribute("message", "课程号重复");
return "error";
}
//重定向
return "redirect:/admin/showCourse";
}
// 修改教师信息页面显示
@RequestMapping(value = "/editCourse", method = {RequestMethod.GET})
public String editCourseUI(Integer id, Model model) throws Exception {
if (id == null) {
return "redirect:/admin/showCourse";
}
CourseCustom courseCustom = courseService.findById(id);
if (courseCustom == null) {
throw new CustomException("未找到该课程");
}
List<TeacherCustom> list = teacherService.findAll();
List<College> collegeList = collegeService.finAll();
model.addAttribute("teacherList", list);
model.addAttribute("collegeList", collegeList);
model.addAttribute("course", courseCustom);
return "admin/editCourse";
}
// 修改教师信息页面处理
@RequestMapping(value = "/editCourse", method = {RequestMethod.POST})
public String editCourse(CourseCustom courseCustom) throws Exception {
courseService.upadteById(courseCustom.getCourseid(), courseCustom);
//重定向
return "redirect:/admin/showCourse";
}
// 删除课程信息
@RequestMapping("/removeCourse")
throw new CustomException("该账户为管理员账户,没法修改");
}
u.setPassword(userlogin.getPassword());
userloginService.updateByName(userlogin.getUsername(), u);
} else {
throw new CustomException("没找到该用户");
}
return "admin/userPasswordRest";
}
// 本账户密码重置
@RequestMapping("/passwordRest")
public String passwordRestUI() throws Exception {
return "admin/passwordRest";
}
}
package com.demo.controller;
/**
*/
@Controller
@RequestMapping(value = "/student")
public class StudentController {
List<StudentCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(studentService.getCountStudent());
if (page == null || page == 0) {
pagingVO.setToPageNo(1);
list = studentService.findByPaging(1);
} else {
pagingVO.setToPageNo(page);
list = studentService.findByPaging(page);
}
model.addAttribute("studentList", list);
model.addAttribute("pagingVO", pagingVO);
return "admin/showStudent";
}
// 添加学生信息页面显示
@RequestMapping(value = "/addStudent", method = {RequestMethod.GET})
public String addStudentUI(Model model) throws Exception {
List<College> list = collegeService.finAll();
model.addAttribute("collegeList", list);
return "admin/addStudent";
}
// 添加学生信息操作
@RequestMapping(value = "/addStudent", method = {RequestMethod.POST})
public String addStudent(StudentCustom studentCustom, Model model) throws Exception {
Boolean result = studentService.save(studentCustom);
if (!result) {
model.addAttribute("message", "学号重复");
return "error";
}
//添加成功后,也添加到登录表
Userlogin userlogin = new Userlogin();
userlogin.setUsername(studentCustom.getUserid().toString());
userlogin.setPassword("123");
userlogin.setRole(2);
userloginService.save(userlogin);
//重定向
return "redirect:/admin/showStudent";
}
}
// 删除学生
@RequestMapping(value = "/removeStudent", method = {RequestMethod.GET} )
public String removeStudent(Integer id) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "admin/showStudent";
}
try {
studentService.removeById(id);
userloginService.removeByName(id.toString());
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/admin/showStudent";
}
// 搜索学生
@RequestMapping(value = "selectStudent", method = {RequestMethod.POST})
public String selectStudent(String findByName, Model model) throws Exception {
List<StudentCustom> list = studentService.findByName(findByName);
model.addAttribute("studentList", list);
return "admin/showStudent";
}
/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<教师操作>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
// 教师页面显示
@RequestMapping("/showTeacher")
public String showTeacher(Model model, Integer page) throws Exception {
List<TeacherCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(teacherService.getCountTeacher());
if (page == null || page == 0) {
pagingVO.setToPageNo(1);
list = teacherService.findByPaging(1);
} else {
pagingVO.setToPageNo(page);
list = teacherService.findByPaging(page);
}
model.addAttribute("teacherList", list);
model.addAttribute("pagingVO", pagingVO);
return "admin/showTeacher";
/**
*/
@Controller
@RequestMapping(value = "/student")
public class StudentController {
@Autowired
private CourseService courseService;
@Autowired
private StudentService studentService;
@Autowired
private SelectedCourseService selectedCourseService;
@RequestMapping(value = "/showCourse")
public String stuCourseShow(Model model, Integer page) throws Exception {
List<CourseCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(courseService.getCountCouse());
if (page == null || page == 0) {
pagingVO.setToPageNo(1);
list = courseService.findByPaging(1);
} else {
pagingVO.setToPageNo(page);
list = courseService.findByPaging(page);
}
model.addAttribute("courseList", list);
model.addAttribute("pagingVO", pagingVO);
return "student/showCourse";
}
// 选课操作
@RequestMapping(value = "/stuSelectedCourse")
public String stuSelectedCourse(int id) throws Exception {
//获取当前用户名
Subject subject = SecurityUtils.getSubject();
String username = (String) subject.getPrincipal();
@Autowired
private CourseService courseService;
@Autowired
private CollegeService collegeService;
@Autowired
private UserloginService userloginService;
/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<学生操作>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
// 学生信息显示
@RequestMapping("/showStudent")
public String showStudent(Model model, Integer page) throws Exception {
List<StudentCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(studentService.getCountStudent());
if (page == null || page == 0) {
pagingVO.setToPageNo(1);
list = studentService.findByPaging(1);
} else {
pagingVO.setToPageNo(page);
list = studentService.findByPaging(page);
}
model.addAttribute("studentList", list);
model.addAttribute("pagingVO", pagingVO);
return "admin/showStudent";
}
// 添加学生信息页面显示
@RequestMapping(value = "/addStudent", method = {RequestMethod.GET})
public String addStudentUI(Model model) throws Exception {
List<College> list = collegeService.finAll();
StudentCustom studentCustom = studentService.findById(id);
if (studentCustom == null) {
throw new CustomException("未找到该名学生");
}
List<College> list = collegeService.finAll();
model.addAttribute("collegeList", list);
model.addAttribute("student", studentCustom);
return "admin/editStudent";
}
// 修改学生信息处理
@RequestMapping(value = "/editStudent", method = {RequestMethod.POST})
public String editStudent(StudentCustom studentCustom) throws Exception {
studentService.updataById(studentCustom.getUserid(), studentCustom);
//重定向
return "redirect:/admin/showStudent";
}
// 删除学生
@RequestMapping(value = "/removeStudent", method = {RequestMethod.GET} )
public String removeStudent(Integer id) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "admin/showStudent";
}
try {
studentService.removeById(id);
userloginService.removeByName(id.toString());
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/admin/showStudent";
}
// 搜索学生
@RequestMapping(value = "selectStudent", method = {RequestMethod.POST})
public String selectStudent(String findByName, Model model) throws Exception {
List<StudentCustom> list = studentService.findByName(findByName);
model.addAttribute("studentList", list);
return "admin/showStudent";
}
return "teacher/mark";
}
// 打分
@RequestMapping(value = "/mark", method = {RequestMethod.POST})
public String mark(SelectedCourseCustom scc) throws Exception {
selectedCourseService.updataOne(scc);
return "redirect:/teacher/gradeCourse?id="+scc.getCourseid();
}
//修改密码
@RequestMapping(value = "/passwordRest")
public String passwordRest() throws Exception {
return "teacher/passwordRest";
}
}
package com.demo.common.exception;
/**
* 全局异常处理器
* springmvc提供一个HandlerExceptionResolver接口
* 只要实现该接口,并配置到spring 容器里,该类就能
* 成为默认全局异常处理类
*
* 全局异常处理器只有一个,配置多个也没用。
*/
public class CustomExceptionResolver implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView modelAndView = new ModelAndView();
public String mark(SelectedCourseCustom scc) throws Exception {
selectedCourseService.updataOne(scc);
return "redirect:/teacher/gradeCourse?id="+scc.getCourseid();
}
//修改密码
@RequestMapping(value = "/passwordRest")
public String passwordRest() throws Exception {
return "teacher/passwordRest";
}
}
package com.demo.common.exception;
/**
* 全局异常处理器
* springmvc提供一个HandlerExceptionResolver接口
* 只要实现该接口,并配置到spring 容器里,该类就能
* 成为默认全局异常处理类
*
* 全局异常处理器只有一个,配置多个也没用。
*/
public class CustomExceptionResolver implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView modelAndView = new ModelAndView();
CustomException customException;
if (e instanceof CustomException) {
customException = (CustomException)e;
} else if (e instanceof UnknownAccountException) {
//用户名错误异常
modelAndView.addObject("message", "没有该用户");
@RequestMapping("/removeTeacher")
public String removeTeacher(Integer id) throws Exception {
if (id == null) {
//加入没有带教师id就进来的话就返回教师显示页面
return "admin/showTeacher";
}
teacherService.removeById(id);
userloginService.removeByName(id.toString());
return "redirect:/admin/showTeacher";
}
//搜索教师
@RequestMapping(value = "selectTeacher", method = {RequestMethod.POST})
public String selectTeacher(String findByName, Model model) throws Exception {
List<TeacherCustom> list = teacherService.findByName(findByName);
model.addAttribute("teacherList", list);
return "admin/showTeacher";
}
/*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<课程操作>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
// 课程信息显示
@RequestMapping("/showCourse")
public String showCourse(Model model, Integer page) throws Exception {
List<CourseCustom> list = null;
//页码对象
PagingVO pagingVO = new PagingVO();
//设置总页数
pagingVO.setTotalCount(courseService.getCountCouse());
if (page == null || page == 0) {
pagingVO.setToPageNo(1);
list = courseService.findByPaging(1);
} else {
pagingVO.setToPageNo(page);
list = courseService.findByPaging(page);
}
model.addAttribute("courseList", list);
model.addAttribute("pagingVO", pagingVO);
//添加课程
@RequestMapping(value = "/addCourse", method = {RequestMethod.GET})
public String addCourseUI(Model model) throws Exception {
List<TeacherCustom> list = teacherService.findAll();
List<College> collegeList = collegeService.finAll();
model.addAttribute("collegeList", collegeList);
model.addAttribute("teacherList", list);
return "admin/addCourse";
}
// 添加课程信息处理
@RequestMapping(value = "/addCourse", method = {RequestMethod.POST})
public String addCourse(CourseCustom courseCustom, Model model) throws Exception {
Boolean result = courseService.save(courseCustom);
if (!result) {
model.addAttribute("message", "课程号重复");
return "error";
}
//重定向
return "redirect:/admin/showCourse";
}
// 修改教师信息页面显示
@RequestMapping(value = "/editCourse", method = {RequestMethod.GET})
public String editCourseUI(Integer id, Model model) throws Exception {
if (id == null) {
return "redirect:/admin/showCourse";
}
CourseCustom courseCustom = courseService.findById(id);
if (courseCustom == null) {
throw new CustomException("未找到该课程");
}
List<TeacherCustom> list = teacherService.findAll();
userlogin.setUsername(studentCustom.getUserid().toString());
userlogin.setPassword("123");
userlogin.setRole(2);
userloginService.save(userlogin);
//重定向
return "redirect:/admin/showStudent";
}
// 修改学生信息页面显示
@RequestMapping(value = "/editStudent", method = {RequestMethod.GET})
public String editStudentUI(Integer id, Model model) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "redirect:/admin/showStudent";
}
StudentCustom studentCustom = studentService.findById(id);
if (studentCustom == null) {
throw new CustomException("未找到该名学生");
}
List<College> list = collegeService.finAll();
model.addAttribute("collegeList", list);
model.addAttribute("student", studentCustom);
return "admin/editStudent";
}
// 修改学生信息处理
@RequestMapping(value = "/editStudent", method = {RequestMethod.POST})
public String editStudent(StudentCustom studentCustom) throws Exception {
studentService.updataById(studentCustom.getUserid(), studentCustom);
//重定向
return "redirect:/admin/showStudent";
}
// 删除学生
@RequestMapping(value = "/removeStudent", method = {RequestMethod.GET} )
public String removeStudent(Integer id) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "admin/showStudent";
}
try {
studentService.removeById(id);
userloginService.removeByName(id.toString());
} catch (Exception e) {
return "admin/passwordRest";
}
}
package com.demo.controller;
/**
*/
@Controller
@RequestMapping(value = "/student")
public class StudentController {
@Autowired
private CourseService courseService;
@Autowired
private StudentService studentService;
@Autowired
private SelectedCourseService selectedCourseService;
@RequestMapping(value = "/showCourse")
public String stuCourseShow(Model model, Integer page) throws Exception {
List<CourseCustom> list = null;
return "error";
}
//添加成功后,也添加到登录表
Userlogin userlogin = new Userlogin();
userlogin.setUsername(studentCustom.getUserid().toString());
userlogin.setPassword("123");
userlogin.setRole(2);
userloginService.save(userlogin);
//重定向
return "redirect:/admin/showStudent";
}
// 修改学生信息页面显示
@RequestMapping(value = "/editStudent", method = {RequestMethod.GET})
public String editStudentUI(Integer id, Model model) throws Exception {
if (id == null) {
//加入没有带学生id就进来的话就返回学生显示页面
return "redirect:/admin/showStudent";
}
StudentCustom studentCustom = studentService.findById(id);
if (studentCustom == null) {
throw new CustomException("未找到该名学生");
}
List<College> list = collegeService.finAll();
model.addAttribute("collegeList", list);
model.addAttribute("student", studentCustom);
return "admin/editStudent";
}
// 修改学生信息处理
@RequestMapping(value = "/editStudent", method = {RequestMethod.POST})
public String editStudent(StudentCustom studentCustom) throws Exception {
studentService.updataById(studentCustom.getUserid(), studentCustom);
//重定向
return "redirect:/admin/showStudent";