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

news2025/1/15 12:52:44

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

博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域
作者主页 超级帅帅吴
Java项目精品实战案例《500套》
欢迎点赞 收藏 ⭐留言
文末获取源码联系方式

文章目录

  • 基于JavaSpringMVC+Mybatis+Jquery高校毕业设计管理系统设计和实现
  • 前言:
  • 功能设计:
  • 功能截图:
    • 系统首页
  • 管理员主要功能设计
  • 学生用户主要功能:
  • 老师端主要功能设计:
  • 主要数据库设计:
  • 部分代码:
  • 论文报告:
  • 总结:
  • 获取源码:

前言:

随着信息时代计算机网络技术的发展给人们带来了极大的方便,传统的毕业设计过程在很大程度上给学生、教师和管理人员带来了不便。而毕业论文对于高校学生而言是对自己在学校所学的专业知识和技能的总结,对高校的教育而言是对毕业学生最后的一次全面的考核。在毕业论文完成整个的过程中,需要学生与导师、人员的密切合作。但在现实中,某个环节内的角色由于某些原因不能一直保持着工作状态,会导致毕业论文完成的停滞。为了避免这种情况的发生,为方便教师、学生和管理者顺利完成对应角色的任务,高校需要一个专业的针对毕业论文的管理系统把完成毕业论文的所有操作都集中到一个系统中。与此同时,各种信息网站的普及给许多企业或用户带来了良好的体验和高效的管理。本系统针对现代高校计算机技术的发展,为了应对过去高校毕业生在毕业设计管理过程中遇到的效率低、交互性差、工作量大等问题而采用软件工程的设计思想,构建一个适合高校使用的基于javaweb的毕业设计管理系统。本系统是基于Windows操作系统作为服务平台,后台数据库采用MySQL数据库,服务器使用Tomcat容器、Eclipse开发工具创建java语言来构建服务页面。选择毕业设计课题管理、绩效管理等功能模块及其关系。本次毕业设计的目的是运用现代网络管理技术解决毕业设计管理中存在的问题,减少学生选择毕业设计选题的时间,和加强毕业设计过程的监控,降低教师和管理人员的工作强度。采用SpringMVC框架提高了系统开发的效率,降低了系统的复杂性,使数据库访问更加灵活。通过测试,系统的应用方便了教师和学生之间的交流,加强了过程管理,方便了结果的保存和显示。

功能设计:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.用户模块管理:用户登录、多角色登录、用户的查询、删除操作、用户分为不同权限、可以通过角色来灵活控制。

2.导师管理:管理员登录后可以对导师信息进行管理和添加。

3.学生管理:管理员以及老师登录后可以对学生信息进行管理和添加。

4.公告管理:管理员及老师登录后可以对公告进行管理和添、学生可以查看。

5.数据分析:管理员登录后可以查看数据分析和分数占比等。

6.审核选题:管理员登录后可以进行审核操作、同意或拒绝。

7.论文管理:管理员登录后可以查看下载论文

8.修改资料:用户可以修改自己的密码。

9.课程管理:老师上传选题课程、及查看改课程是否通过选题。

10.发布内容:老师发布任务书、开题报告、需求分析和数据库设计等。

11.审核文档:老师可以审核任务书、开题报告、需求分析和数据库设计等。

12.文档管理:老师可以查看和上传学生的论文文档。

13.提问管理:老师可以查看和回答学生的提问信息、学生可以提问

14.成绩管理:老师可以管理和查看学生的成绩信息。

15.毕业设计管理:老师可以审核学生论文及查看答辩资格名单。

16.进度管理:学生可以查看各文档的进度完成情况、比如任务书、开题等。

功能截图:

系统首页

在这里插入图片描述
分角色登录、不同角色不同权限功能
在这里插入图片描述

管理员主要功能设计

在这里插入图片描述
数据分析:
在这里插入图片描述
审核选题:
在这里插入图片描述
学生管理:
在这里插入图片描述
添加导师:
在这里插入图片描述

学生用户主要功能:

在这里插入图片描述
在这里插入图片描述
修改个人资料:
在这里插入图片描述
查看选题:
在这里插入图片描述
文档管理:各文档完成情况、查看课题资料和下载等
在这里插入图片描述
在这里插入图片描述
上传各阶段文档:和查看已经上传的文档
在这里插入图片描述
毕业设计提问以及查看问题老师回答
在这里插入图片描述
查看公告信息、成绩信息和自己的答辩资格
在这里插入图片描述

老师端主要功能设计:

在这里插入图片描述
在这里插入图片描述
课题管理:
在这里插入图片描述
学生管理:
在这里插入图片描述
发布内容:
在这里插入图片描述
审核文档:
在这里插入图片描述
文档管理:
在这里插入图片描述
成绩管理:
在这里插入图片描述
公告管理:
在这里插入图片描述
论文审核及查看答辩资格:
在这里插入图片描述

主要数据库设计:

在这里插入图片描述

部分代码:

 
@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、通过断电调试发现用户信息为空的数据项、在前端保存的时候必须填写用户完整相关信息或者数据库设置字段可以为空都可以解决、 我学习程序设计的主要目的就是提高自己实际问题的程序解决方案的关键技能和技术。

获取源码:

大家点赞、收藏、关注、评论啦
🍅查看下方微信号获取联系方式 📝
🚀🚀🚀精彩系列推荐
Java毕设项目精品实战案例《500套》
精彩专栏推荐订阅:在下方专栏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/456888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CCBN 2023看点分析:国产8K摄像机国产化替代趋势增强

4月21日&#xff0c;为期3天的CCBN 2023&#xff08;第29届中国国际广播电视信息网络展览会&#xff09;在北京首钢会展中心圆满落幕&#xff0c;CCBN展会是亚洲广播电视设备展览会&#xff0c;也是中国广电行业规模最大、影响力最强的国际性展会之一&#xff0c;更是广电行业内…

Linux环境下(CentOS7)CC攻击——如何用CC攻击对网站进行压力测试(仅限于压力测试)

小编温馨提醒&#xff1a;请正确使用ddos攻击&#xff0c;不要用来做违反当地法律法规的事情&#xff0c;否则后果请自负&#xff01;&#xff01;&#xff01;&#xff01; 阿里云服务器链接 &#xff08;学生党可白嫖16个月ECS云服务器&#xff09; 高校计划 - 免费学生云…

通话蓝牙耳机什么牌子好?通话效果好的无线蓝牙耳机

这几年真无线蓝牙耳机市场发展迅速&#xff0c;从音质到续航再到现在的降噪能力&#xff0c;技术的不断进步也让厂家不断推陈出新&#xff0c;但是也导致许多人不知道从何选择&#xff0c;下面整理了几款通话效果不错的无线蓝牙耳机&#xff0c;可做参考。 一、南卡小音舱Lite…

1.栈的介绍-C语言调用函数(一)

目录 源代码变为可执行文件的过程 栈是什么 入栈过程 出栈过程 C语言函数调用栈 寄存器 EAX,EBX,ECX,EDX 寄存器使用约定 栈帧 调用的解释 释放的解释 堆栈操作 函数调用的操作 堆栈的主要指令 push/pop call/leave/ret 函数序和函数跋 我们在数据结构中学习…

事件抽取:Document-level Event Extraction via Parallel Prediction Networks

任务&#xff1a;给定一篇文章&#xff0c;从中提取出一个或多个结构化的事件 Y { y i } i 1 k Y\{y_i\}_{i1}^{k} Y{yi​}i1k​ ,其中每个事件 t t t事件类型 y i t y_{i}^{t} yit​表示是&#xff0c;包含一系列角色 ( r i 1 , r i 2 , . . . , r i n ) (r_{i}^{1},r_{i}^{…

构建高效数据中台——数据只有被使用起来,才能创造价值

产品经理们时常会碰到这种问题&#xff1a; 我刚上线一个功能&#xff0c;请研发同志们帮我拉个数据出来分析&#xff0c;却被残酷告知需要排期。 我这里急得跺脚&#xff0c;但也只能理解。 数据研发们每天有查不完的数据和写不完的表&#xff0c;业务部门要的数据迟迟拿不到&…

ABAP SM30自定义搜素帮助,且带出相关描述,也可回车带出。

本篇文章用SM30字段BUKRS带出BUTXT为例。 MODULE zfzhdm_f4help INPUT.DATA: lt_dynpfields1 TYPE STANDARD TABLE OF dynpread,ls_dynpfields1 TYPE dynpread,lt_return1 TYPE STANDARD TABLE OF ddshretval,ls_return1 TYPE ddshretval,lv_povstepl1 TYPE sy-stepl…

引领文旅新体验!实时云渲染助力打造“永不落幕”的湾区文采会元宇宙

2022年11月25日至27日&#xff0c;2022年粤港澳大湾区公共文化和旅游产品&#xff08;东莞&#xff09;采购会&#xff08;简称“湾区文采会”&#xff09;在广东省东莞市文化馆举行。 文采会期间&#xff0c;文采会元宇宙线上虚拟展厅全新亮相&#xff0c;这艘承载着科技与文化…

优秀的FAQ示例及FAQ页面制作技巧

在网页中问答设计中&#xff0c;虽然说客服会话更有人情味、解决效率更高&#xff0c;但从实际的客户使用情况和使用偏好来看&#xff0c;越来越多的人更喜欢自助服务。数据显示&#xff0c;约67%的受访者会优先选择自助服务&#xff0c;91%的客户使用过帮助中心来解决问题。可…

python进阶知识点汇总

一、函数 1、函数的传参&#xff1a; &#xff08;1&#xff09;值传递&#xff1a;将实际的参数复制一份传递给形参&#xff0c;函数中修改形参时&#xff0c;不会影响到实际参数&#xff1b; def a(b,c2):return bcprint(a(10)) print(a(123,2)) print(a(2))&#xff08;2…

Gitlab添加组、创建用户和项目、权限管理

一、创建组 1、使用root管理员权限来创建组&#xff0c;一个组里面包含多个项目分支&#xff0c;可以将用户来添加到组里进行设置权限&#xff0c;不同的组有不同的权限。 2、输入群组名称、描述、和可见性级别&#xff0c;点击创建群组 二、创建用户 1、普通用户只能访问属于…

静态路由综合实验

目录 实验要求 实验步骤 1.子网划分 2.配置IP和环回 3.配置静态路由&#xff0c;实现全网可达 4.配置缺省路由&#xff0c;使R1-R4可以访问5.5.5.5/24 5.配置空接口防环 6.ping测试 实验要求 1.除R5的环回地址固定以外&#xff0c;整个其他所有网段基于192.168.1.0/2…

【C++】二叉搜索树BST

目录 1.二叉搜索树的性质2.二叉搜索树功能的实现1.二叉搜索树的框架2.插入3.查找4.删除&#xff08;难点&#xff09;解析 3.二叉搜索树功能的递归实现1.查找递归实现2.插入递归实现递归形式中新建节点的链接问题 3.删除的递归实现 4.二叉搜索树部分默认成员函数实现1.构造函数…

SpringBoot(8)日志监控

日志监控 监控的意义使用监控监控原理 自定义监控指标Metrics端点自定义端点 监控的意义 监控服务状态是否宕机监控服务运行指标(内存&#xff0c;虚拟机&#xff0c;线程&#xff0c;请求等)监控程序运行日志管理服务(服务上下线) 监控的实施方式 1.显示监控信息的服务器&am…

低功耗设计方法学——篇Ⅱ

引言 低功耗设计关乎ASIC芯片的性能稳定。对ASIC 特别是一些Soc芯片的设计有着重要的影响&#xff0c;随着集成规模的大幅度增加&#xff0c;芯片自身的功耗问题暴露也越来越明显。低功耗设计的需求和必要性也越来越值得关注。本文就《Low Power Methodology Manual For Syste…

逍遥自在学C语言 | 赋值运算符

前言 在C语言中&#xff0c;赋值运算符用于将一个值赋给变量 这个过程分为两个步骤&#xff1a; 计算赋值运算符右侧的表达式将结果赋给左侧的变量。 C语言提供了多个不同的赋值运算符&#xff0c;包括基本的赋值运算符、复合赋值运算符以及条件赋值运算符等 一、人物简介…

LeetCode121 买卖股票的最佳时机 遍历法和动态规划

题目地址&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/ 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股…

Python爬虫之MongoDB

目录 一、Mongo概述 二、安装&下载 1.下载&#xff1a; 2.安装 三、基本命令 插⼊数据 查询数据 修改数据 删除数据 索引 四、Python与MongoDB交互 1.安装pymongo 2.使⽤ 一、Mongo概述 MongoDB是什么&#xff1f; MongoDB是⾮关系型数据库(No sql) 为啥需要…

无线传感网络课程作业 1-dijkstra算法计算最短路径并输出经过的节点

无线传感网络课程作业 1 仅供参考-如有需要可订阅专栏 题目有如下网络图: abc三个数以a=3,b=1,c=1为例 运行环境:anaconda3环境管理工具,Python 3.9.12,Windows 10 22H2算法实现原理流程i).

Java——二叉搜索树的后序遍历序列

题目链接 牛客在线oj题——二叉搜索树的后序遍历序列 题目描述 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true ,否则返回 false 。假设输入的数组的任意两个数字都互不相同。 数据范围&#xff1a; 节点数量 0≤n≤1000 …