基于Java SSM框架實(shí)現(xiàn)簡(jiǎn)易的評(píng)教系統(tǒng)
介紹
項(xiàng)目編號(hào):BS-GX-014
數(shù)據(jù)庫:mysql
開發(fā)工具:IDEA / ECLIPSE
開發(fā)技術(shù):SSM 框架
本系統(tǒng)基于SSM框架實(shí)現(xiàn)。主要包含三個(gè)角色,管理員,老師,學(xué)生。管理員主要管理學(xué)生,老師,課程。學(xué)生可以進(jìn)行選課,選完課后可以對(duì)任課老師評(píng)價(jià)。老師可以查看自己的評(píng)價(jià)信息。
效果圖
部分展示功能如下:
管理員角色:
學(xué)生角色:
老師角色:
部分核心代碼
package one.controller; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import one.domain.Admin; import one.domain.Curriculum; import one.domain.Evaluate; import one.domain.PageBean; import one.domain.Student; import one.domain.Teacher; import one.service.AdminService; import one.service.CurriculumService; import one.service.ManyTableService; import one.service.StudentService; import one.service.TeacherService; import one.vo.Details; import one.vo.ManyTable; import one.vo.Tea_Curri; @Controller public class AdminController { @Resource(name="manyTableServiceImpl") private ManyTableService mts; @Resource(name="studentServiceImpl") private StudentService stus; @Resource(name="teacherServiceImpl") private TeacherService teas; @Resource(name="adminServiceImpl") private AdminService adms; @Resource(name="curriculumServiceImpl") private CurriculumService curs; @RequestMapping("/seetea") public String seetea(Model model) throws Exception{ List<Tea_Curri> listtea_curri = mts.gettea_curri(); model.addAttribute("listtea_curri", listtea_curri); return "admin/seetea.jsp"; } @RequestMapping("/seedetails") public String seedetails(int cid,Model model) throws Exception{ List<Details> listdetails = mts.getdetails(cid); int sum=0; int flag=0; for(Details det:listdetails){ if(det.getEscore()==null){ continue; } sum+=det.getEscore(); flag++; } if(flag==0){ return "pjnotfinish.jsp"; } double avg=sum/flag; int b=(int) (avg/10); String grade; switch(b){ case 10:grade="非常優(yōu)秀";break; case 9:grade="優(yōu)秀";break; case 8:grade="良好";break; case 7:grade="中等";break; case 6:grade="及格";break; default:grade="不合格"; } model.addAttribute("grade", grade); model.addAttribute("avg", avg); model.addAttribute("listdetails", listdetails); return "admin/details.jsp"; } @RequestMapping("/viewstu") public String viewstu(Model model,int currPage) throws Exception{ int pageSize=5; int count = stus.getcount(); int totalPage=(int) Math.ceil((count*1.0/pageSize)); if(currPage<=0){ currPage=1; } if(currPage>=totalPage){ currPage=totalPage; } PageBean<Student> pb = stus.getfenyestu(currPage, pageSize); // List<Student> listallstu = stus.getallstu(); List<Student> liststu = pb.getList(); model.addAttribute("pb", pb); model.addAttribute("liststu", liststu); return "admin/viewstu.jsp"; } @RequestMapping("/viewtea") public String viewtea(Model model,int currPage) throws Exception{ int pageSize=5; int count = teas.getcount(); int totalPage=(int) Math.ceil((count*1.0/pageSize)); if(currPage<=0){ currPage=1; } if(currPage>=totalPage){ currPage=totalPage; } PageBean<Teacher> pb = teas.getfenyetea(currPage, pageSize); // List<Teacher> listalltea = teas.getalltea(); List<Teacher> listtea = pb.getList(); model.addAttribute("pb", pb); model.addAttribute("listtea",listtea); return "admin/viewtea.jsp"; } @RequestMapping("/addstu") public String viewtea(Student stu,Model model) throws Exception{ Student getstu = stus.getstu(stu.getSid()); if(getstu==null){ stus.insertstu(stu); model.addAttribute("succ", "添加成功"); }else{ model.addAttribute("err", "已存在該編號(hào)的學(xué)生"); } return "admin/addstu.jsp"; } @RequestMapping("/addtea") public String viewtea(Teacher tea,Model model) throws Exception{ Teacher gettea = teas.gettea(tea.getTid()); if(gettea==null){ teas.inserttea(tea); model.addAttribute("succ", "添加成功"); }else{ model.addAttribute("err", "已存在該編號(hào)的教師"); } return "admin/addtea.jsp"; } //點(diǎn)擊查看課程 @RequestMapping("viewcurri") public String viewcurri(Model model,int currPage) throws Exception{ int pageSize=10; int count = curs.getcount(); int totalPage=(int) Math.ceil((count*1.0/pageSize)); if(currPage<=0){ currPage=1; } if(currPage>=totalPage){ currPage=totalPage; } PageBean<Curriculum> pb = curs.getfenyecur(currPage, pageSize); List<Curriculum> listcur = pb.getList(); model.addAttribute("pb", pb); model.addAttribute("listcur",listcur); return "admin/viewcurri.jsp"; } //修改密碼,點(diǎn)擊提交 @RequestMapping("/admuppwd") public String uppwd(String oldpwd,String newpwd,HttpServletRequest request,Model model)throws Exception{ HttpSession session = request.getSession(); Admin adm=(Admin) session.getAttribute("adm"); if(adm.getApassword().equals(oldpwd)){ adm.setApassword(newpwd); adms.uppwd(adm); }else{ model.addAttribute("pwderr","你的原始密碼有誤"); return "admin/updatepwd.jsp"; } return "admin/uppwdsuccess.jsp"; } //點(diǎn)擊添加課程功能 @RequestMapping("addcurri") public String addcurri(Model model) throws Exception{ List<Teacher> listalltea = teas.getalltea(); model.addAttribute("listtea",listalltea); return "admin/addcurri.jsp"; } //填寫課程信息后,點(diǎn)擊提交 @RequestMapping("submitcurri") public String submitcurri(Curriculum cur,Model model) throws Exception{ Curriculum curri = curs.getbyid(cur.getCid()); if(curri==null){ curs.addcur(cur); model.addAttribute("succ", "添加成功"); }else{ model.addAttribute("err", "該編號(hào)的課程已存在"); } List<Teacher> listalltea = teas.getalltea(); model.addAttribute("listtea",listalltea); return "admin/addcurri.jsp"; } //點(diǎn)擊學(xué)生選課 @RequestMapping("stuselectcur") public String stuselectcur(Model model,int currPage)throws Exception{ int pageSize=10; int count = stus.getcount(); int totalPage=(int) Math.ceil((count*1.0/pageSize)); if(currPage<=0){ currPage=1; } if(currPage>=totalPage){ currPage=totalPage; } PageBean<Student> pb = stus.getfenyestu(currPage, pageSize); // List<Student> listallstu = stus.getallstu(); List<Student> liststu = pb.getList(); model.addAttribute("pb", pb); model.addAttribute("liststu", liststu); return "admin/stuselectcur.jsp"; } //點(diǎn)擊教師任課 @RequestMapping("teaselectcur") public String teaselectcur(Model model,int currPage)throws Exception{ int pageSize=10; int count = teas.getcount(); int totalPage=(int) Math.ceil((count*1.0/pageSize)); if(currPage<=0){ currPage=1; } if(currPage>=totalPage){ currPage=totalPage; } PageBean<Teacher> pb = teas.getfenyetea(currPage, pageSize); List<Teacher> listalltea = pb.getList(); model.addAttribute("pb", pb); model.addAttribute("listtea",listalltea); return "admin/teaselectcur.jsp"; } //點(diǎn)擊選課詳情 @RequestMapping("selectcurdetails") public String selectcurdetails(Model model,String ssid,String sname)throws Exception{ List<ManyTable> liststu_curbystuid = mts.getstu_curbystuid(ssid); if(liststu_curbystuid.size()==0){ model.addAttribute("sname", sname); return "admin/noselectcur.jsp"; } model.addAttribute("liststu_curbystuid", liststu_curbystuid); model.addAttribute("sname", sname); return "admin/stucurdetails.jsp"; } //點(diǎn)擊教師任課詳情 @RequestMapping("teacurdetails") public String teacurdetails(Model model,String tid,String tname)throws Exception{ List<Curriculum> listcurbytid = curs.getcurbytid(tid); if(listcurbytid.size()==0){ model.addAttribute("tname", tname); return "admin/teanocur.jsp"; } model.addAttribute("listcurbytid", listcurbytid); model.addAttribute("tname", tname); model.addAttribute("tid", tid); return "admin/teacurdetails.jsp"; } //修改學(xué)生信息 @RequestMapping("updatestu") public String updatestu(Student stu,Model model)throws Exception{ stus.updatestu(stu); List<Student> listallstu = stus.getallstu(); model.addAttribute("liststu", listallstu); return "/viewstu?currPage=1"; } //修改教師信息 @RequestMapping("updatetea") public String updatetea(Teacher tea,Model model)throws Exception{ teas.updatetea(tea); List<Teacher> listalltea = teas.getalltea(); model.addAttribute("listtea",listalltea); return "/viewtea?currPage=1"; } //刪除學(xué)生 @RequestMapping("/delstu") public String delstu(HttpServletRequest request)throws Exception{ String sid = request.getParameter("sid"); stus.delstu(sid); return "/viewstu?currPage=1"; } //刪除老師 @RequestMapping("/deltea") public String deltea(String tid)throws Exception{ teas.deltea(tid); return "/viewtea?currPage=1"; } //刪除課程 @RequestMapping("/deletecurriculumbyid") public String deletecurriculumbyid(int cid)throws Exception{ curs.deletecur(cid); return "/viewcurri?currPage=1"; } //點(diǎn)擊修改課程 @RequestMapping("/updatecurr") public String updatecurr(Model model)throws Exception{ List<Teacher> listalltea = teas.getalltea(); model.addAttribute("listtea",listalltea); return "admin/updatecurr.jsp"; } //課程里點(diǎn)擊確認(rèn)修改 @RequestMapping("/querenxiugai") public String querenxiugai(Model model,Curriculum curr){ curs.querenxiugai(curr); return "viewcurri?currPage=1"; } //按姓名查詢學(xué)生 @RequestMapping("/nameselect") public String nameselect(String name,Model model)throws Exception{ List<Student> liststu = stus.findbyname(name); if(liststu.size()==0){ return "admin/NewFile1.jsp"; } model.addAttribute("liststu", liststu); return "admin/NewFile2.jsp"; } //按姓名查詢老師 @RequestMapping("/tnameselect") public String tnameselect(String name,Model model)throws Exception{ List<Teacher> listtea = teas.findteabyname(name); if(listtea.size()==0){ return "admin/NewFile3.jsp"; } model.addAttribute("listtea", listtea); return "admin/NewFile4.jsp"; } }
package one.controller; import java.util.Date; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import one.domain.Curriculum; import one.domain.Evaluate; import one.domain.Student; import one.domain.Studentandcurriculum; import one.service.CurriculumService; import one.service.EvaluateService; import one.service.ManyTableService; import one.service.StudentService; import one.vo.ManyTable; @Controller public class StudentController { @Resource(name="studentServiceImpl") private StudentService stus; @Resource(name="curriculumServiceImpl") private CurriculumService curs; @Resource(name="evaluateServiceImpl") private EvaluateService evaService; //修改密碼,點(diǎn)擊提交 @RequestMapping("/stuuppwd") public String uppwd(String oldpwd,String newpwd,HttpServletRequest request,Model model)throws Exception{ HttpSession session = request.getSession(); Student stu=(Student) session.getAttribute("stu"); if(stu.getSpassword().equals(oldpwd)){ stu.setSpassword(newpwd); stus.uppwd(stu); }else{ model.addAttribute("pwderr","你的原始密碼有誤"); return "student/updatepwd.jsp"; } return "student/uppwdsuccess.jsp"; } //學(xué)生點(diǎn)擊進(jìn)行評(píng)教 @RequestMapping("/aa") public String allpj(HttpServletRequest request,Model model) throws Exception{ HttpSession session = request.getSession(); Student stu = (Student) session.getAttribute("stu"); List<ManyTable> listpj = mts.getall(stu.getSid()); if(listpj.size()==0){ return "student/nocurr.jsp"; }else{ model.addAttribute("listpj", listpj); return "student/allpingjiao.jsp"; } } @Resource(name="manyTableServiceImpl") private ManyTableService mts; @Resource(name="evaluateServiceImpl") private EvaluateService evas; //學(xué)生提交評(píng)教 @RequestMapping("/subpj") public String subpj(HttpServletRequest request,int eid,String advise,Model model)throws Exception{ int a = Integer.parseInt(request.getParameter("1")); int b = Integer.parseInt(request.getParameter("2")); int c = Integer.parseInt(request.getParameter("3")); int d = Integer.parseInt(request.getParameter("4")); int e = Integer.parseInt(request.getParameter("5")); int f = Integer.parseInt(request.getParameter("6")); int g = Integer.parseInt(request.getParameter("7")); int h = Integer.parseInt(request.getParameter("8")); int i = Integer.parseInt(request.getParameter("9")); int j = Integer.parseInt(request.getParameter("10")); int sum=a+b+c+d+e+f+g+h+i+j; if(advise==""){ advise=null; } Date date=new Date(); Evaluate eva=new Evaluate(); eva.setEid(eid); eva.setEscore(sum); eva.setEcomment(advise); eva.setEdate(date); evas.uppj(eva); HttpSession session = request.getSession(); Student stu = (Student) session.getAttribute("stu"); List<ManyTable> listpj = mts.getall(stu.getSid()); model.addAttribute("listpj", listpj); return "student/allpingjiao.jsp"; } //點(diǎn)擊添加選課 @RequestMapping("addmycur") public String addmycur(Model model)throws Exception{ List<Curriculum> listallcur = curs.getallcur(); model.addAttribute("listallcur", listallcur); return "student/addmycur.jsp"; } @RequestMapping("stuaddcur") public String stuaddcur(HttpSession session,Model model,int scid ) throws Exception{ Student stu = (Student) session.getAttribute("stu"); Studentandcurriculum stucur=new Studentandcurriculum(); stucur.setScid(scid); System.out.println(stu.getSid()); stucur.setSsid(stu.getSid()); Studentandcurriculum myselect = stus.findmyselect(stucur); if(myselect==null){ stus.stuaddcur(stucur); Evaluate eva=new Evaluate(); eva.setEsid(stucur.getSsid()); eva.setEcid(stucur.getScid()); evaService.addstuselect(eva); model.addAttribute("succ", "添加選課成功!"); }else{ model.addAttribute("err", "你已經(jīng)選了該課程!"); } List<Curriculum> listallcur = curs.getallcur(); model.addAttribute("listallcur", listallcur); return "student/addmycur.jsp"; } }
到此這篇關(guān)于基于Java SSM框架實(shí)現(xiàn)簡(jiǎn)易的評(píng)教系統(tǒng)的文章就介紹到這了,更多相關(guān)Java SSM評(píng)教系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java通過SSM完成水果商城批發(fā)平臺(tái)流程
- Java開發(fā)之ssm三大框架整合
- java ssm框架的controller實(shí)現(xiàn)向頁面?zhèn)鬟f參數(shù)
- 基于Java+SSM實(shí)現(xiàn)電影院購(gòu)票系統(tǒng)
- 基于Java SSM實(shí)現(xiàn)在線點(diǎn)餐系統(tǒng)
- 基于Java SSM實(shí)現(xiàn)Excel數(shù)據(jù)批量導(dǎo)入
- 基于Java SSM的健康管理小程序的實(shí)現(xiàn)
- Java SMM框架關(guān)聯(lián)關(guān)系映射示例講解
相關(guān)文章
maven插件spring-boot-starter-tomcat的使用方式
這篇文章主要介紹了maven插件spring-boot-starter-tomcat的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Java自定義類數(shù)組報(bào)null的相關(guān)問題及解決
這篇文章主要介紹了Java自定義類數(shù)組報(bào)null的相關(guān)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Java 判斷線程池所有任務(wù)是否執(zhí)行完畢的操作
這篇文章主要介紹了Java 判斷線程池所有任務(wù)是否執(zhí)行完畢的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08Java8中CompletableFuture使用場(chǎng)景與實(shí)現(xiàn)原理
CompletableFuture是java8引入的新類,該類實(shí)現(xiàn)了Future接口和 CompletionStage接口,封裝了future、forkjoin相關(guān)類來執(zhí)行異步,這篇文章主要給大家介紹了關(guān)于Java8中CompletableFuture使用場(chǎng)景與實(shí)現(xiàn)原理的相關(guān)資料,需要的朋友可以參考下2022-02-02java實(shí)現(xiàn)簡(jiǎn)單石頭剪刀布小游戲
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單石頭剪刀布小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01MybatisPlus多表連接查詢的具體實(shí)現(xiàn)
MyBatis Plus是一款針對(duì)MyBatis框架的增強(qiáng)工具, 它提供了很多方便的方法來實(shí)現(xiàn)多表聯(lián)查,本文主要介紹了MybatisPlus多表連接查詢的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10詳解Java 包掃描實(shí)現(xiàn)和應(yīng)用(Jar篇)
這篇文章主要介紹了詳解Java 包掃描實(shí)現(xiàn)和應(yīng)用(Jar篇),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07