基于JavaSpringMVC+Mybatis+Jquery高校毕业设计管理系统设计和实现_基于mybatis的毕业设计

最后

整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

image

image

其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣,

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

| 1 | id | int | 10 | 0 | N | Y | Id主键 |
| 2 | studentId | int | 10 | 0 | N | N | 学生id |
| 3 | studentDoubt | varchar | 255 | 0 | Y | N | 提问 |
| 4 | answer | varchar | 255 | 0 | Y | N | 回答 |

表t_major

编号名称数据类型长度小数位允许空值主键说明
1idint100NY专业表,id为主键
2majorNamevarchar300YN名称
3departmentIdint100YN关联院系

表t_project_source

编号名称数据类型长度小数位允许空值主键说明
1idint100NY项目源码表
2studentIdint100NN学生id
3projectScorevarchar1000YN分数
4descriptionvarchar3000YN描述

表t_student

编号名称数据类型长度小数位允许空值主键说明
1idint100NYId
2studentNovarchar200YN学生编号
3studentNamevarchar200YN学生名称
4sexvarchar40YN性别
5majorIdint100NN专业id
6gradevarchar100YN班级
7inputManvarchar200YN发布者
8lastModifyTimedatetime190YN时间
9phonevarchar110YN手机号
10emailvarchar250YN邮箱

部分代码:


@Controller
@RequestMapping(value="/teacher")
public class TeacherController {
	
	
	@Autowired
	private ITeacherService teacherService;
	
	@Autowired
	private IStudentService studentService;
	
	@Autowired
	private IDepartmentService departmentService;
	
	@Autowired
	private IAnnouncementService announcementService;
	
	
	
	/*@RequestMapping(value="/add",method=RequestMethod.GET)
	public String addTeacherForm(Model model) {
		return "teacher/addTeacher.jsp";
	}
	
	@RequestMapping(value="/add",method=RequestMethod.POST)
	public String addTeacher(HttpServletRequest request,String teacherNo, String teacherName,String sex,String inputMan,String phone,String department,Model model) throws Exception {
		teacherNo = new String(teacherNo.getBytes("iso-8859-1"),"utf-8");
		teacherName = new String(teacherName.getBytes("iso-8859-1"),"utf-8");
		sex = new String(sex.getBytes("iso-8859-1"),"utf-8");
		inputMan = new String(inputMan.getBytes("iso-8859-1"),"utf-8");
		phone = new String(phone.getBytes("iso-8859-1"),"utf-8");
		department = new String(department.getBytes("iso-8859-1"),"utf-8");
		
		Date currentTime = new Date();
		
		Teacher teacher = new Teacher();
		teacher.setTeacherNo(teacherNo);
		teacher.setTeacherName(teacherName);
		teacher.setDepartmentId(Integer.parseInt(department));
		teacher.setSex(sex);
		teacher.setInputMan(inputMan);
		teacher.setLastModifyTime(currentTime);
		teacher.setPhone(phone);
		
		int addNum = teacherService.addTeacher(teacher);
		System.out.println("添加数目:"+addNum);
		
		return "teacher/addSuccess.jsp";
	}*/
	
	@RequestMapping(value="/main",method=RequestMethod.GET)
	public String teacherMainForm() {
		return "teacher/main.jsp";
	}
	
	@RequestMapping(value="/modifyInfo",method=RequestMethod.GET)
	public String teacherModifyInfoForm() {
		return "teacher/teacherModifyInfo.jsp";
	}
	
	@RequestMapping(value="/modifyPassword",method=RequestMethod.GET)
	public String teacherModifyPasswordForm() {
		return "teacher/teacherModifyPassword.jsp";
	}
	
	@RequestMapping(value="/uploadThesisTitle",method=RequestMethod.GET)
	public String teacherUploadThesisTitleForm() {
		return "teacher/teacherUploadThesisTitle.jsp";
	}
	
	@RequestMapping(value="/modifyThesisTitle",method=RequestMethod.GET)
	public String teacherModifyThesisTitleForm() {
		return "teacher/teacherModifyThesisTitle.jsp";
	}
	
	@RequestMapping(value="/thesisResult",method=RequestMethod.GET)
	public String teacherThesisResultForm(Model model,HttpServletRequest request) {
		teacherShowAllThesisTitle(model, request);
		
		return "teacher/teacherThesisResult.jsp";
	}
	
	@RequestMapping(value="/uploadTaskBook",method=RequestMethod.GET)
	public String teacherUploadTaskBookForm() {
		return "teacher/teacherUploadTakeBook.jsp";
	}

	@RequestMapping(value="/uploadOpening",method=RequestMethod.GET)
	public String teacherUploadOpeningForm() {
		return "teacher/teacherUploadOpeningReport.jsp";
	}
	
	@RequestMapping(value="/uploadKeXingXing",method=RequestMethod.GET)
	public String teacherUploadKeXingXingForm() {
		return "teacher/teacherUploadKeXingXing.jsp";
	}
	
	@RequestMapping(value="/uploadXuQiu",method=RequestMethod.GET)
	public String teacherUploadXuQiuForm() {
		return "teacher/teacherUploadXuQiu.jsp";
	}
	
	@RequestMapping(value="/uploadGaiYao",method=RequestMethod.GET)
	public String teacherUploadGaiYaoForm() {
		return "teacher/teacherUploadGaiYao.jsp";
	}
	
	@RequestMapping(value="/uploadShuJuKu",method=RequestMethod.GET)
	public String teacherUploadShuJuKuForm() {
		return "teacher/teacherUploadShuJuKu.jsp";
	}

	@RequestMapping(value="/checkOppening")
	public String teacherCheckOppeningForm(HttpServletRequest request,Model model) {
		Teacher currentTeacher = (Teacher)request.getSession().getAttribute("teacher");
		int teacherId = currentTeacher.getId();
		List<Student> students = teacherService.getAllStudentInfo(teacherId);
		for(int i=0;i<students.size();i++) {
			int studentId = students.get(i).getId();
			StudentTaskBookOpening STBO = teacherService.getStudentOpeningByStudentId(studentId);
			if(STBO == null || "".equals(STBO)) {
				
			}else {
				String openingPath = STBO.getStudentOpeningResport();
				if(openingPath==null) {
					students.get(i).setStudentOpeningName("未上传");
					students.get(i).setOpenscore("未上传");
				}else {
					students.get(i).setStudentOpeningPath(openingPath);
					String[] str = openingPath.split("\\\\");
					String fileName = str[str.length-1].toString();
					students.get(i).setStudentOpeningName(fileName);
					students.get(i).setOpenscore(STBO.getOpenscore());
				}
				
//				int completion = STBO.getCompletion();
//				if(completion==0) {
//					students.get(i).setCompletionName("未审核");
//				}else if(completion==1) {
//					students.get(i).setCompletionName("未通过");
//				}else {
//					students.get(i).setCompletionName("审核通过");;
//				}
			}
		}
		model.addAttribute("studentList", students);
		
		return "teacher/teacherCheckOpeningReport.jsp";
	}
	
	@RequestMapping(value="/checkKexing")
	public String teacherCheckKexingForm(HttpServletRequest request,Model model) {
		Teacher currentTeacher = (Teacher)request.getSession().getAttribute("teacher");
		int teacherId = currentTeacher.getId();
		List<Student> students = teacherService.getAllStudentInfo(teacherId);
		for(int i=0;i<students.size();i++) {
			int studentId = students.get(i).getId();
			StudentTaskBookOpening STBO = teacherService.getStudentOpeningByStudentId(studentId);
			if(STBO == null || "".equals(STBO)) {
				
			}else {
				String kexingPath = STBO.getStudentKeXingXing();
				if(kexingPath==null) {
					students.get(i).setStudentKexingName("未上传");
					students.get(i).setKexingscore("未上传");
				}else {
					students.get(i).setStudentKexingPath(kexingPath);
					String[] str = kexingPath.split("\\\\");
					String fileName = str[str.length-1].toString();
					students.get(i).setStudentKexingName(fileName);
					students.get(i).setKexingscore(STBO.getKexingscore());
				}
				
			}
		}
		model.addAttribute("studentList", students);
		
		return "teacher/teacherCheckKeXing.jsp";
	}
	
	@RequestMapping(value="/checkXuqiu")
	public String teacherCheckXuqiuForm(HttpServletRequest request,Model model) {
		Teacher currentTeacher = (Teacher)request.getSession().getAttribute("teacher");
		int teacherId = currentTeacher.getId();
		List<Student> students = teacherService.getAllStudentInfo(teacherId);
		for(int i=0;i<students.size();i++) {
			int studentId = students.get(i).getId();
			StudentTaskBookOpening STBO = teacherService.getStudentOpeningByStudentId(studentId);
			if(STBO == null || "".equals(STBO)) {
				
			}else {
				String xuqiuPath = STBO.getStudentXuQiu();
				if(xuqiuPath==null) {
					students.get(i).setStudentXuqiuName("未上传");
					students.get(i).setXuqiuscore("未上传");
				}else {
					students.get(i).setStudentXuqiuPath(xuqiuPath);
					System.out.println(xuqiuPath);
					String[] str = xuqiuPath.split("\\\\");
					String fileName = str[str.length-1].toString();
					students.get(i).setStudentXuqiuName(fileName);
					students.get(i).setXuqiuscore(STBO.getXuqiuscore());
				}
				
			}
		}
		model.addAttribute("studentList", students);
		
		return "teacher/teacherCheckXuQiu.jsp";
	}
	
	
	@RequestMapping(value="/uploadThesisTitle",method=RequestMethod.POST)
	public String teacherUploadThesisTitle(Model model,HttpServletRequest request,String thesisTitle,String nandu,String liang,String from,String leixing,String thesisDesc) throws Exception {
		thesisTitle = new String(thesisTitle.getBytes("iso-8859-1"),"utf-8");
		nandu = new String(nandu.getBytes("iso-8859-1"),"utf-8");
		liang = new String(liang.getBytes("iso-8859-1"),"utf-8");
		from = new String(from.getBytes("iso-8859-1"),"utf-8");
		leixing = new String(leixing.getBytes("iso-8859-1"),"utf-8");
		thesisDesc = new String(thesisDesc.getBytes("iso-8859-1"),"utf-8");
		
		if(thesisTitle == null || "".equals(thesisTitle)) {
			model.addAttribute("message", "上传课题题目不能为空");
			return "teacher/main.jsp";
		}else if(thesisDesc == null || "".equals(thesisDesc)) {
			model.addAttribute("message", "上传课题描述不能为空");
			return "teacher/main.jsp";
		}else if(nandu == null || "".equals(nandu)) {
			model.addAttribute("message", "上传课题难度不能为空");
			return "teacher/main.jsp";
		}else if(liang == null || "".equals(liang)) {
			model.addAttribute("message", "上传课题工作量不能为空");
			return "teacher/main.jsp";
		}else if(from == null || "".equals(from)) {
			model.addAttribute("message", "上传课题来源不能为空");
			return "teacher/main.jsp";
		}else if(leixing == null || "".equals(leixing)) {
			model.addAttribute("message", "上传课题类型不能为空");
			return "teacher/main.jsp";
		}else {
			Teacher currentTeacher = (Teacher)request.getSession().getAttribute("teacher");
			int teacherId = currentTeacher.getId();
			String teacherName = currentTeacher.getTeacherName();
			Date time = new Date();
			
			ThesisTitle thesis = new ThesisTitle();
			thesis.setThesisName(thesisTitle);
			thesis.setTeacherId(teacherId);
			thesis.setSubmitTime(time);
			thesis.setInputMan(teacherName);
			thesis.setNandu(nandu);
			thesis.setLiang(liang);
			thesis.setFrom(from);
			thesis.setLeixing(leixing);
			thesis.setDescription(thesisDesc);
			
			int num = teacherService.uploadThesisTitle(thesis);
			System.out.println("添加的课题数:"+num);
			
			model.addAttribute("message", "上传成功");
			return "teacher/teacherUploadThesisTitle.jsp";
		}
		
	}
	
	
	
	
	
	@RequestMapping(value="/uploadThesis4pass")
	public String teacherUploadThesis4pass(HttpServletRequest request,@RequestParam("studentList")int studentList,@RequestParam("file") MultipartFile file, Model model) throws Exception, IOException {
		
		// System.out.println("上传课题id:"+topic4Teacher);
		
		Teacher currentTeacher = (Teacher)request.getSession().getAttribute("teacher");
		String teacherName = currentTeacher.getTeacherName();
		String studentId = String.valueOf(studentList);
		// System.out.println("当前用户:"+teacherNo);
		if(!file.isEmpty()) {
			
			File fileRoot = new File("E:\\BSM\\thesis");
			File fileDb = new File(fileRoot, studentId);
			String fileName = file.getOriginalFilename();
			
			File filePath = new File(fileDb, fileName);
			
			// filePath 是必须的 , 文件保存的路径,若是注释掉会出现,空文件异常
			if(!filePath.getParentFile().exists()) {
				filePath.getParentFile().mkdirs();
			}
			
			file.transferTo(new File(fileDb+File.separator+fileName));
			
			ThesisPaper paper = new ThesisPaper();
			paper.setStudentId(studentList);
			paper.setPaperInfo(filePath.toString());
			
			
			teacherService.uploadThesis4Pass(paper);
			
			model.addAttribute("message", "上传学生论成功");
			
			return "teacher/main.jsp";
		}else {
			model.addAttribute("message", "上传任务书出错");
			return "error.jsp";
		}
	}
	
	
	@RequestMapping(value="/checkDoubt")
	public String teacherCheckDoubtForm(HttpServletRequest request,Model model) {
		Teacher currentTeacher = (Teacher)request.getSession().getAttribute("teacher");
		int teacherId = currentTeacher.getId();
		
		List<Student> students = teacherService.getAllStudentInfo(teacherId);
		List<Doubt> doubtList = new ArrayList<Doubt>();
		for(int i=0;i<students.size();i++) {
			int studentId = students.get(i).getId();
			List<Doubt> doubts = teacherService.getAllDoubtByStudentId(studentId);
			int nn = doubts.size();
			for(int j=0;j<nn;j++) {
				Doubt db = doubts.get(j);
				String answer = db.getAnswer();
				if(answer == null || "".equals(answer)) {
					doubtList.add(db);
				}
			}
		}
		model.addAttribute("doubtList", doubtList);
		
		return "teacher/teacherCheckDoubt.jsp";
	}
	
	@RequestMapping(value="/answerDoubtForm")
	public String teacherAnswerDoubtForm() {
		return "teacher/teacherAnswerDoubt.jsp";
	}
	
	@RequestMapping(value="/answerDoubt")
	public String teacherAnswerDoubt(Model model,int id,String answer) throws Exception {
		
		answer = new String(answer.getBytes("iso-8859-1"),"utf-8");
		Doubt doubt = new Doubt();
		doubt.setId(id);
		doubt.setAnswer(answer);
		int num = teacherService.updateDoubt(doubt);
		if(num == 1) {
			model.addAttribute("message", "回复成功");
		}else {
			model.addAttribute("message", "回复失败");
		}
		
		return "teacher/main.jsp";
	}
	
	

论文报告:

总结:

经过近期对 java 面向对象程序设计、前端知识以及JAVA 框架的掌握和学习,以及这段时间这个毕业设计管理系统的开发,让我更加了解到 java 学习的重要性。在开发这个系统是哪个,我完成了多个实验以及毕业设计管理平台的功能测试,阶段的系统开发学习当中,我从认识到熟悉java,而后到能够自主运用相关技术,我发现了它确实有很多方便之处,比如java集抽象性和封装性以及继承性和多态性于一体,实现了对代码重用和代码扩充功能,提高了整体软件开发的速度和效率。比如管理员添加用户的时候报java.lang.NullPointException、解决的方法:查看控制台打印信息、发现添加的时候未填写相关信息、报java.lang.NullPointException、通过断电调试发现用户信息为空的数据项、在前端保存的时候必须填写用户完整相关信息或者数据库设置字段可以为空都可以解决、 我学习程序设计的主要目的就是提高自己实际问题的程序解决方案的关键技能和技术。

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻

打卡 文章 更新 191/  365天

精彩专栏推荐订阅:在下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例《100套》

web前端期末大作业网页实战《100套》

书籍介绍:免费送

最后

本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们

目录:

全靠这套面试题,才让我有惊无险美团二面拿offer  (面经解析)

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

全靠这套面试题,才让我有惊无险美团二面拿offer  (面经解析)

Java面试核心知识点

已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了

全靠这套面试题,才让我有惊无险美团二面拿offer  (面经解析)

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

面试,借着这次机会可以送给我的读者朋友们

目录:

[外链图片转存中…(img-dy6ZJodE-1715517678598)]

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

[外链图片转存中…(img-wiquFrE9-1715517678599)]

Java面试核心知识点

已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了

[外链图片转存中…(img-p9ZwTtxM-1715517678599)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值