——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明





基于javaweb的SSM+Maven毕业设计管理系统(java+ssm+tomcat+maven+mysql+html)
登录页面:http://localhost:8080/graduation/login.html
学生,教师统一使用该登录界面进行登录
graduation
毕业设计管理系统可以分为五个模块:登录模块,选题模块,信息管理模块,流程管理模块,文件管理模块。
- 该系统在技术上使用Spring+SpringMVC+MyBatis整合框架作为后台开发框架,AmazeUI作为前端开发框架。
并使用Ehcache作为项目的缓存,druid作为项目的数据库连接池,使用FreeMarker实现word的导出,使用Shiro完成项目的登录认证,数据库使用的则是MySQL。
- 该系统可以分为三类角色:学生,教师,教务管理员。
- 该系统前端界面使用纯HTML实现,与后台的交互则都是通过Ajax完成。
登录模块
登录模块主要完成教务管理员,教师,学生用户的登录功能,每个角色登录之后会看到不同的操作界面。
选题模块
选题模块主要完成师生双选这一业务流程。
信息管理模块
信息管理模块主要完成对各种信息的crud操作。
流程管理模块
流程管理主要完成对开题报告,中期检查,免答辩申请,验收/答辩,论文审核,盲审的流程的管理。
文件管理模块
文件管理模块主要对文件的上传与下载。
部分界面
登录(学生,教师统一使用该登录界面进行登录)
主页(主页可以看到一些内容概要与相关提示)
教师列表(通过选择某一教师进而选择其课题)
申报课题(教师只有填写课题名之后才可以申报课题)
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| @ResponseBody @RequestMapping(value="/getSubTeacher",method=RequestMethod.GET) public PageInfo<Teacher> getSubTeacher(@RequestParam(defaultValue="1")int pageNum,@RequestParam(defaultValue="8")int pageSize){ PageHelper.startPage(pageNum, pageSize); List<Teacher> list = teacherService.getSubTeacher(); return new PageInfo<Teacher>(list); }
@ResponseBody @RequestMapping(value="/findTeacherByTeacherName",method=RequestMethod.GET) public PageInfo<Teacher> findTeacherByTeacherName(String teacherName,HttpServletResponse response, @RequestParam(defaultValue="1")int pageNum,@RequestParam(defaultValue="8")int pageSize){ response.setContentType("application/json"); PageHelper.startPage(pageNum, pageSize); List<Teacher> list = teacherService.findTeacherByTeacherName(teacherName); return new PageInfo<>(list); }
@ResponseBody @RequestMapping("/findTeacherAndProject") public Teacher findTeacherAndProject(HttpSession session) { User user = (User) session.getAttribute("user"); if(user!=null) { Teacher teacher = teacherService.findTeacherByUserId(user.getUserId()); if(teacher!=null) { Teacher teacherPlus = teacherService.findTeacherAndProject(teacher.getTeacherId()); if(teacherPlus!=null) { return teacherPlus; } } } return null; }
@ResponseBody @RequestMapping("/findTeacher") public Teacher findTeacher(HttpSession session) { User user = (User) session.getAttribute("user"); if(user!=null) { Teacher teacher = teacherService.findTeacherByUserId(user.getUserId()); if(teacher!=null) { Teacher teacherPlus = teacherService.findTeacherByTeacherId(teacher.getTeacherId()); if(teacherPlus!=null) { return teacherPlus; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| if(portrait!=null&&portrait.getSize()>0) { if(portrait.getSize()>(10*1024*1024)) { return false; } String filename=portrait.getOriginalFilename(); String dbPath=request.getServletContext().getContextPath()+"/portrait/"+user.getUserId(); String basePath=request.getServletContext().getRealPath("/portrait/"+user.getUserId()); new File(basePath).mkdir(); File portraitFile=new File(basePath,filename); try { portrait.transferTo(portraitFile); user.setUserPortrait(dbPath+"/"+filename); return userService.updateUserInfo(user); } catch (Exception e) { e.printStackTrace(); } } return userService.updateUserInfo(user); } @ResponseBody @RequestMapping(value="/updatePwd",method=RequestMethod.PUT) public boolean updateStudentPwd(User user,HttpSession session) { String password=user.getUserPassword(); if(password!=null&&!password.isEmpty()) { user.setUserPassword(Utils.md5(password)); boolean bool = userService.updateUserInfo(user); if(bool==true) { session.removeAttribute("user"); return true; } } return false; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| } } } return new Mdb(); } @ResponseBody @RequestMapping(value="/updateColumn",method=RequestMethod.PUT) public boolean updateColumn(Mdb mdb) { return mdbService.updateColumn(mdb); } @ResponseBody @RequestMapping(value="/updateColumnById",method=RequestMethod.PUT) public boolean updateColumnById(Mdb mdb) { return mdbService.updateColumnById(mdb); } @RequestMapping("/gotoTsureMdb") public ModelAndView gotoTsureMdb(@RequestParam(required=true)String studentId) { return new ModelAndView("/teacher/tsuremdb.html?studentId="+studentId); }
}
@Controller @RequestMapping("/zqjcController")
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| return teacherService.getTeacherYansouInfo(teacher.getTeacherId()); } } return null; } @ResponseBody @RequestMapping("/thisTeacherisLeader") public YansouTeacher thisTeacherisLeader(HttpSession session){ User user = (User) session.getAttribute("user"); if(user!=null) { return teacherService.thisTeacherisLeader(user); } return null; } @ResponseBody @RequestMapping("/getYansouTeamStu") public PageInfo<Student> getYansouTeamStu(HttpSession session, @RequestParam(defaultValue="1")int pageNum, @RequestParam(defaultValue="8")int pageSize){ User user = (User) session.getAttribute("user"); if(user!=null) { Teacher teacher = teacherService.findTeacherByUserId(user.getUserId()); if(teacher!=null) { PageHelper.startPage(pageNum, pageSize); List<Student> list = teacherService.getYansouTeamStu(teacher.getTeacherId()); return new PageInfo<Student>(list); } } return null; }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Lunwen lunwen = lunwenService.getLunwenBySid(studentId); if(lunwen!=null) { return lunwen; } }else { User user = (User) session.getAttribute("user"); if(user!=null) { Student student = studentService.getStudentByUserId(user.getUserId()); Lunwen lunwen = lunwenService.getLunwenBySid(student.getStudentId()); if(lunwen!=null) { return lunwen; } } } return new Lunwen(); }
@ResponseBody @RequestMapping(value="/upLunwenBySid",method=RequestMethod.PUT) public boolean upLunwenBySid(Lunwen lunwen) { return lunwenService.upLunwenBySid(lunwen); }
@ResponseBody @RequestMapping(value="/upload_lunwen",method=RequestMethod.POST) public boolean saveProduct(@RequestParam(value="lunwen",required=true)MultipartFile lunwen, @RequestParam("userId")String userId,HttpServletRequest request) { if(lunwen!=null&&lunwen.getSize()>0) { if(lunwen.getSize()>(10*1024*1024)) { return false; } String filename = lunwen.getOriginalFilename(); String basePath=request.getServletContext().getRealPath("/WEB-INF/lunwen/"+userId); new File(basePath).mkdir(); File lunewenFile=new File(basePath,filename); try { HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); if(user!=null) { Student student = studentService.getStudentByUserId(userId); Lunwen lw=new Lunwen(); lw.setLunwenDate(new Date()); lw.setLunwenName(filename); lw.setLunwenPath(basePath+"/"+filename); lunwenService.insertOrUpdate(student.getStudentId(),lw); }else { return false; } lunwen.transferTo(lunewenFile); return true; } catch (Exception e) { e.printStackTrace(); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| } }
@Controller @RequestMapping("/lunwenController") public class LunwenController { @Autowired private LunwenService lunwenService; @Autowired private StudentService studentService; @RequestMapping("/gotoTstudentlunwen") public String gotoTstudentlunwen(String studentId) { return "redirect:/graduation/teacher/tstudentlunwen.html?studentId="+studentId; } @ResponseBody @RequestMapping("/getLunwenBySid") public Lunwen getLunwenBySid(String studentId,HttpSession session) { if(studentId!=null&&!studentId.isEmpty()) { Lunwen lunwen = lunwenService.getLunwenBySid(studentId);
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=031123552708201bw
https://javayms.pages.dev?id=031123552708201bw