基于JavaSpringMVC+Mybatis+Jquery高校毕业设计管理系统设计和实现
基于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 {@Autowiredprivate ITeacherService teacherService;@Autowiredprivate IStudentService studentService;@Autowiredprivate IDepartmentService departmentService;@Autowiredprivate 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套》
精彩专栏推荐订阅:在下方专栏
相关文章:
基于JavaSpringMVC+Mybatis+Jquery高校毕业设计管理系统设计和实现
基于JavaSpringMVCMybatisJquery高校毕业设计管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…...
问题排查记录-ffmpeg链接libavfilter和libavcodec:未定义的引用
目录 一、问题背景 二、问题现象 2.1 ffmpeg测试例程 2.2 编译脚本 2.3 错误提示 三、问题排查 3.1 关于提示找不到“stdio" "iostream"头文件的问题 3.1.1查看工具链头文件检索位置 3.1.2 根据工具链路径查找头文件 3.1.3 在编译脚本中指定头文件路径…...
打印流,Properties类
打印流只有输出流,没有输入流 package com.hspedu.printstream;import java.io.IOException; import java.io.PrintStream;/*** author 韩顺平* version 1.0* 演示PrintStream (字节打印流/输出流)*/ public class PrintStream_ {public stat…...
TinyOS 配置教程
系列文章目录 TinyOS 系列文章【一】:TinyOS 配置教程 TinyOS 系列文章【二】:Tossim 教程 文章目录 系列文章目录前言1. 安装1.1. 实验环境1.2. TinyOS基础工作1.3. TinyOS 的配置1.4. 安装 java1.5. 安装编译器 2. 测试仿真程序总结 前言 本文主要用…...
【工作总结】后端开发人员的坏习惯
文章目录 前言一、不遵循项目规范二、用复杂SQL语句来解决问题三、缺少全局把控思维,只关注某一块业务四、函数复杂冗长,逻辑混乱五、缺乏主动思考,拿来主义六、核心业务逻辑,缺少相关日志和注释七、修改代码,缺少必要测试八、需求没理清&…...
review
review post提交方式下的设置编码,防止中文乱码 request.setCharaterEncoding(“utf-8”); get提交方式,tomcat8开始,编码不需要设置 tomcat8之前,get方式设置比较麻烦: String fname request.getParameter("f…...
【人工智能概论】 用Python实现数据的归一化
【人工智能概论】 用Python实现数据的归一化 文章目录 【人工智能概论】 用Python实现数据的归一化一. 数据归一化处理的意义二. 常见的归一化方法2.1 最大最小标准化(Min-Max Normalization)2.2 z-score 标准化 三. 用sklearn实现归一化 一. 数据归一化…...
【Python】matplotlib设置图片边缘距离和plt.lengend图例放在图像的外侧
一、问题提出 我有这样一串代码: import matplotlib.pyplot as plt plt.figure(figsize (10, 6)) " 此处省略代码 " legend.append("J") plt.legend(legend) plt.xlabel(recall) plt.ylabel(precision) plt.grid() plt.show()我们得到的图像…...
oracle 11g等保加固
有个单机环境需要做个等保加固 1、执行如下sql ?/rdbms/admin/utlpwdmg.sql --alter profile default limit password_verify_function null; Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 90; alter profile DEFAULT limit password_lock_time 30; alter profile DEFAU…...
【设计模式】设计模式之解释器模式
文章目录 前言一、解释器模式二、最佳实践总结 前言 本节给大家讲一下设计模式中的解释器模式,并结合实际业务场景给大家讲解如何使用~ 所有案例代码主要以Java语言为主, 好了, 废话不多说直接开整~ 一、解释器模式 解释器模式(Interpreter Pattern)…...
leetcode551. 学生出勤记录 I
题目描述解题思路执行结果 leetcode551. 学生出勤记录 I . 题目描述 给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符: A:Absentÿ…...
flume拦截器介绍
Flume是一个开源的、分布式的、可靠的、高效的海量数据采集、聚合和传输系统。其中,拦截器(Interceptor)是Flume中的一种组件,可以在数据(Event)流动的各个阶段对数据进行处理、过滤或转换,从而实现更为灵活、高效的数据采集和传输。 1、拦截…...
5.4、服务器编程基本框架和两种高效的事件处理模式
5.4、服务器编程基本框架和两种高效的事件处理模式 1.服务器编程基本框架2.两种高效的事件处理模式①Reactor模式②Proactor模式③模拟Proactor模式 1.服务器编程基本框架 模块功能I/O 处理单元处理客户连接,读写网络数据逻辑单元业务进程或线程网络存储单元数据库、…...
Flink主要有两种基础类型的状态:operator state。
Flink主要有两种基础类型的状态:keyed state 和operator state。 Operator State 对于Operator State(或者non-keyed state),每个operator state绑定到一个并行operator实例上。在Flink中,Kafka Connector是一个使用Operator State的很好的例…...
【vue2】使用vue-admin-template动态添加路由的思路/addRoutes的使用
😉博主:初映CY的前说(前端领域) ,📒本文核心:用原生js实现省市区联动 【前言】在通用的后台管理项目的开发中,不仅仅是会涉及到对表单数据等的增删改查操作还会涉及到一些关于权限管理的问题。我们将基于一个RBAC的思维…...
Python语言中的注释方法应用
Python语言中的注释方法 在Python编程中,与其他编程语言一样,有良好的注释部分,会让你的程序在后续的改进或优化中,变得便利。同时,给自己培养了良好的编程习惯。 在Python语言中,有两种注释方法。 1.单行…...
Google浏览器翻译无法正常使用解决
1.查找可用服务器地址 按WinR键打开运行→输入cmd回车,打开命令提示符→输入ping google.cn 回车。记录一下下图红框里的ip地址,一会要用到 最近自己ping出来的ip可能不能用了,可以尝试用下面的ip 142.251.163.90 142.250.113.90 142.251.…...
ETCD(三)操作指令
1. put put #将给定的key写入到存储 --ignore-lease[false] #使用当前租约更新key --ignore-value[false] #使用当前值更新key --lease"0" # 要附加到key的租约ID(十六进制) --prev-kv[false] # 返回修改前的上一个键值对2. get get #获取给…...
小白学Pytorch系列--Torch.optim API Base class(1)
小白学Pytorch系列–Torch.optim API Base class(1) torch.optim是一个实现各种优化算法的包。大多数常用的方法都已得到支持,而且接口足够通用,因此将来还可以轻松集成更复杂的方法。 如何使用优化器 使用手torch.optim您必须构造一个优化器对象&…...
flac格式如何转mp3,3招帮你搞定
flac格式如何转mp3,3招帮你搞定的方法来啦。当你的音频是flac格式是不是很头疼,又不知道怎么转mp3 。然后网上搜索出很多方法又不知道从哪个下手,是不是很疑惑?那今天就来看看小编推荐的方法吧,一定让你眼前一亮&#…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
