源码获取:俺的博客首页 "资源" 里下载!
项目介绍
管理员操作包含以下功能:
管理员登录,学生管理,成绩管理,教师信息管理,课程信息管理,学院管理,专业管理,班级信息管理,用户管理等功能。
环境需要
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.数据库:MySql 5.7版本;
技术栈
1. 后端:Spring+SpringMVC+Mybatis
2. 前端:HTML+CSS+JavaScript+jsp
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
课程管理控制层:
@Controller
@RequestMapping(value="/course")
public class CourseController {
@Autowired
CourseService courseService;
@ResponseBody
@RequestMapping(value="/list")
public String getCourseList(@RequestParam(defaultValue="0")int curr,
@RequestParam(defaultValue="20")int nums,
@RequestParam(defaultValue="")String searchKey) {
Pagination<Course> page = new Pagination<Course>();
page.setTotalItemsCount(courseService.getTotalItemsCount(searchKey));
page.setPageSize(nums);
page.setPageNum(curr);
List<Course> list = courseService.getCourseList(page,searchKey);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR
+ page.getTotalItemsCount()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list)
+ StrUtil.RETURN_JONS_END_STR;
System.out.println(jsonStr);
return jsonStr;
}
/**
* 返回教师自己教的课程列表
*/
@ResponseBody
@RequestMapping(value="/getMyCourse")
public String getMyCourse(@RequestParam(defaultValue="0")int curr,
@RequestParam(defaultValue="10")int nums, HttpSession session) {
Pagination<Course> page = new Pagination<Course>();
Teacher t = (Teacher) session.getAttribute(StrUtil.USER);
page.setTotalItemsCount(courseService.getTotalItemsCountByTid(t.getId()));
page.setPageSize(nums);
page.setPageNum(curr);
List<Course> list = courseService.getCourseListByTid(page, t.getId());
String jsonStr = StrUtil.RETURN_JONS_PRE_STR
+ page.getTotalItemsCount()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list)
+ StrUtil.RETURN_JONS_END_STR;
System.out.println(jsonStr);
return jsonStr;
}
/**
* 返回可选课程列表(可选:人数未满、课程开始时间在当前时间之后)
* @param curr
* @param nums
* @param searchKey
* @return
*/
@ResponseBody
@RequestMapping(value="/choiceList")
public String getCourseChoiceList(@RequestParam(defaultValue="0")int curr,
@RequestParam(defaultValue="30")int nums, @RequestParam(defaultValue="1") int isAll,
@RequestParam(defaultValue="")String searchKey, HttpSession session) {
Pagination<Course> page = new Pagination<Course>();
String sId = ((Student) session.getAttribute(StrUtil.USER)).getId();
page.setTotalItemsCount(courseService.getTotalItemsCountBySid(isAll, searchKey, sId));
page.setPageSize(nums);
page.setPageNum(curr);
List<Course> list = courseService.getCourseListBySid(page, isAll, searchKey, sId);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR
+ page.getTotalItemsCount()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list)
+ StrUtil.RETURN_JONS_END_STR;
System.out.println(isAll+"sid"+sId);
System.out.println(jsonStr);
return jsonStr;
}
@RequestMapping(value="/addPage")
public ModelAndView toAddPage() {
return new ModelAndView("courseAdd");
}
/**
* 增加,或者修改Course
* @param Course
* @return
*/
@ResponseBody
@RequestMapping(value="/add")
public String addCourse(Course course) {
int res = 0;
if (course.getId() == null || course.getId().equals("")) {
try {
res = courseService.addCourse(course);
} catch (Exception e) {
e.printStackTrace();
System.out.println("添加失败!");
return "添加失败!";
}
if (res > 0)
return StrUtil.RESULT_TRUE;
return "添加失败";
} else {
res = courseService.updateCourse(course);
if (res > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
}
}
@ResponseBody
@RequestMapping(value="/complete")
public String complete(Course course) {
int res = courseService.completeCourse(course);
if (res > 0) return StrUtil.RESULT_TRUE;
return "操作失败!";
}
@ResponseBody
@RequestMapping(value="/delete")
public String deleteStudnet(Course c) {
if (courseService.deleteCourse(c) > 0) return StrUtil.RESULT_TRUE;
return "删除失败!";
}
/**
* 批量删除
* @param cIds
* @return
*/
@ResponseBody
@RequestMapping(value="/deleteList")
public String deleteStudnetList(String cIds) {
List<Integer> list = new ArrayList<Integer>();
try {
String[] ids = cIds.split(",");
for (String id: ids) {
list.add(Integer.parseInt(id));
}
if (courseService.deleteCourse(list) > 0) {
return StrUtil.RESULT_TRUE;
}
} catch (Exception e) {
e.printStackTrace();
return "删除失败!参数出错!";//
}
return "删除失败!";
}
}
基础信息管理控制层:
@Controller
@RequestMapping(value="/basecourse")
public class BaseCourseController {
@Autowired
private BaseCourseService baseCourseService;
@ResponseBody
@RequestMapping(value="/list")
public String getBaseCourseList(@RequestParam(defaultValue="0")int curr,@RequestParam(defaultValue="10")int nums,
@RequestParam(defaultValue="")String searchKey) {
Pagination<BaseCourse> page = new Pagination<BaseCourse>();
page.setTotalItemsCount(baseCourseService.getTotalItemsCount(searchKey));
page.setPageSize(nums);
page.setPageNum(curr);
List<BaseCourse> list = baseCourseService.getBaseCourse(page, searchKey);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR + page.getTotalItemsCount()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list) + StrUtil.RETURN_JONS_END_STR;
System.out.println(jsonStr);
return jsonStr;
}
@ResponseBody
@RequestMapping(value="/listForSelect")
public String getBaseCourseListForSelect(@RequestParam(defaultValue="") String searchKey) {
List<BaseCourse> list = baseCourseService.getBaseCourseForSelect(searchKey);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR + list.size()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list) + StrUtil.RETURN_JONS_END_STR;
return jsonStr;
}
@RequestMapping(value="/addPage")
public ModelAndView toAddPage() {
return new ModelAndView("/baseCourseAdd");
}
/**
* 增加,或者修改BaseCourse
* @param BaseCourse
* @return
*/
@ResponseBody
@RequestMapping(value="/add")
public String addBaseCourse(BaseCourse baseCourse) {
int res = 0;
if (baseCourse.getId() == null || baseCourse.getId().equals("")) {
try {
res = baseCourseService.addBaseCourse(baseCourse);
} catch (Exception e) {
System.out.println("添加失败!");
return "添加失败!";
}
if (res > 0)
return StrUtil.RESULT_TRUE;
return "添加失败";
} else {
res = baseCourseService.updateBaseCourse(baseCourse);
if (res > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
}
}
@ResponseBody
@RequestMapping(value="/delete")
public String deleteStudnet(BaseCourse t) {
if (baseCourseService.deleteBaseCourse(t) > 0) return StrUtil.RESULT_TRUE;
return "删除失败!";
}
/**
* 批量删除
* @param tIds
* @return
*/
@ResponseBody
@RequestMapping(value="/deleteList")
public String deleteStudnetList(String cIds) {
List<Integer> list = new ArrayList<Integer>();
try {
String[] ids = cIds.split(",");
for (String id: ids) {
list.add(Integer.parseInt(id));
}
if (baseCourseService.deleteBaseCourse(list) > 0) {
return StrUtil.RESULT_TRUE;
}
} catch (Exception e) {
e.printStackTrace();
return "删除失败!参数出错!";//
}
return "删除失败!";
}
@ResponseBody
@RequestMapping("/import")
public String impotr(HttpServletRequest request, MultipartFile file) {
//获取上传的文件
InputStream in = null;
try {
in = file.getInputStream();
//数据导入
int res = baseCourseService.importExcelInfo(in,file);
if (res > 0) {
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"true"
+StrUtil.RETURN_JONS_END_STR;
} else {
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"false"
+StrUtil.RETURN_JONS_END_STR;
}
} catch (Exception e) {
e.printStackTrace();
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"error"
+StrUtil.RETURN_JONS_END_STR;
} finally {
if (in != null)
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
学生管理控制层:
@Controller
@RequestMapping(value="/student")
public class StudentController {
@Autowired
private StudentService studentService;
@ResponseBody
@RequestMapping(value="/list")
public String getStudentList(@RequestParam(defaultValue="0")int curr,
@RequestParam(defaultValue="20")int nums,
@RequestParam(defaultValue="")String searchKey) {
Pagination<Student> page = new Pagination<Student>();
page.setTotalItemsCount(studentService.getTotalItemsCount(searchKey));
page.setPageSize(nums);
page.setPageNum(curr);
List<Student> list = studentService.getStudentList(page,searchKey);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR
+ page.getTotalItemsCount()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list)
+ StrUtil.RETURN_JONS_END_STR;
return jsonStr;
}
/**
* 返回选修了我课程的学生列表
* @return
*/
@ResponseBody
@RequestMapping(value="/stulist")
public String getMyStudentList(@RequestParam(defaultValue="0")int curr,
@RequestParam(defaultValue="20")int nums,
@RequestParam(required=false) Integer cId, HttpSession session) {
Teacher t = (Teacher) session.getAttribute(StrUtil.USER);
Pagination<Student> page = new Pagination<Student>();
page.setTotalItemsCount(studentService.getTotalItemsCountByTid(t.getId(), cId));
page.setPageSize(nums);
page.setPageNum(curr);
List<Student> list = studentService.getStudentListByTid(page, t.getId(), cId);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR
+ page.getTotalItemsCount()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list)
+ StrUtil.RETURN_JONS_END_STR;
System.out.println(jsonStr);
return jsonStr;
}
@RequestMapping(value="/addPage")
public ModelAndView toAddPage() {
return new ModelAndView("/studentAdd");
}
/**
* 增加,或者修改studnet
* @param opType
* @param stu
* @return
*/
@ResponseBody
@RequestMapping(value="/add")
public String addStudent(@RequestParam(defaultValue="2") int opType, Student stu) {
int res = 0;
if (opType == 0) {
try {
stu.setPassword(stu.getPassword().toUpperCase());
res = studentService.addStudent(stu);
} catch (Exception e) {
System.out.println("添加失败!学号重复!");
return "添加失败!学号重复!";
}
if (res > 0)
return StrUtil.RESULT_TRUE;
return "添加失败";
} else if (opType == 1) {
stu.setPassword(null);
res = studentService.updateStudent(stu);
if (res > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
}
return "error";
}
/**
* 重置密码
* @param stu
* @return
*/
@ResponseBody
@RequestMapping(value="/resetPswd")
public String resetPasswrd(String id) {
Student stu = new Student();
stu.setId(id);
stu.setPassword(MD5Util.MD5("123456"));
if (studentService.updateStudent(stu) > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
}
@ResponseBody
@RequestMapping(value="/delete")
public String deleteStudnet(Student stu) {
if (studentService.deleteStudent(stu) > 0) return StrUtil.RESULT_TRUE;
return "删除失败!";
}
/**
* 批量删除
* @param stuIds
* @return
*/
@ResponseBody
@RequestMapping(value="/deleteList")
public String deleteStudnetList(String stuIds) {
List<String> list = new ArrayList<String>();
try {
String[] ids = stuIds.split(",");
for (String id: ids) {
list.add(id);
}
if (studentService.deleteStudent(list) > 0) {
return StrUtil.RESULT_TRUE;
}
} catch (Exception e) {
e.printStackTrace();
return "删除失败!参数出错!";//
}
return "删除失败!";
}
@ResponseBody
@RequestMapping("/import")
public String impotr(HttpServletRequest request, MultipartFile file) {
//获取上传的文件
InputStream in = null;
try {
in = file.getInputStream();
//数据导入
int res = studentService.importExcelInfo(in,file);
if (res > 0) {
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"true"
+StrUtil.RETURN_JONS_END_STR;
} else {
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"false"
+StrUtil.RETURN_JONS_END_STR;
}
} catch (Exception e) {
e.printStackTrace();
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"error"
+StrUtil.RETURN_JONS_END_STR;
} finally {
if (in != null)
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@RequestMapping(value="/courses")
public ModelAndView toChoiceCoursePage() {
return new ModelAndView("choiceCourse");
}
}
扫描二维码关注公众号,回复:
14218225 查看本文章
源码获取:俺的博客首页 "资源" 里下载!