Java项目:学生管理系统(java+SSM+HTML+JS+jsp+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.数据库: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");
	}
}

 源码获取:俺的博客首页 "资源" 里下载!

猜你喜欢

转载自blog.csdn.net/yuyecsdn/article/details/125017803