SSM+MySQL访客登记系统:表设计、环境配置与核心链路全解析
简介一套基于SSM框架与MySQL的学校访客登记系统项目功能完整适合Java毕业设计或课程设计覆盖访客信息登记、访问记录管理、后台数据维护等业务。压缩包共957个文件约34.16MB包含jsp页面、java源码、xml配置、SQL脚本及图片素材结构划分了项目说明、数据库设计和程序源码便于按模块查阅。目前已有169人浏览学习。附论文和答辩PPT论文涵盖设计背景、功能需求与技术架构可直接用于课题演示源码分层清晰可二次开发帮助理解SSM整合流程、MyBatis持久层操作及MySQL表设计。1. 认识这套SSMMySQL学校访客登记系统毕业设计交付物到底拆成几块SSMMySQL的学校访客登记系统是JavaWeb课设和毕业设计里出现频率很高的一类交付一套SSMSpringSpringMVCMyBatis源码一份配套论文标题里的lw指的就是它再加一份答辩PPT。要解决的问题很具体校外人员进校前先登记预约管理员审核门卫端确认进入离校时签退系统后台形成一条完整可查的访问记录。它适合两类人一是需要短时间凑齐完整可演示系统来应付课设、毕设验收的学生二是想练手三层架构调用的初级开发。我见过不少人拿到类似模板后第一反应是直接开页面结果白屏一片就开始怀疑源码有问题其实大部分问题都出在MySQL版本、JDK和Tomcat的匹配上。这篇按“先立表结构、再跑环境、然后读代码、最后排坑”的顺序把这类项目从头到尾过一遍。2. 拆开看业务和数据库角色、状态流转与三张核心表怎么设计标题写着SSMMySQL可真正决定系统能不能过审的是业务拆分和表结构设计。SSM只是把页面请求送到数据库的管道管道做得再花哨表设计一塌糊涂查询和统计都跟着难受。所以第一步别急着找人要源码先把业务边界和状态机定清楚。2.1 四个使用角色与一套状态流转先圈住功能边界学校访客登记系统最常见的业务范围是“预约、审核、进门、签退”一般不做工资、不做角色权限树做到够用且完整刚好是毕业设计里一个合理的系统粒度。按使用角色拆通常是四类入口其中“被访人”多数模板不单独做登录因为校内老师不会为这个系统维护账号填一个“被访部门被访人姓名”字符串就够。简单列一下四个入口的行为边界访客填写预约单提交姓名、身份证、手机号、来访事由、被访人、预计访问时间。管理员审核预约、查询访问记录、导出数据、维护门卫账号。门卫进门时核对访客身份把预约状态改到“已进校”离校时再点一次“签退”。被访人可选大多数懒人实现里被访人没有登录入口只会出现在文本字段里。状态流转建议固定成一条单向链路访客提交预约后状态为0管理员审核通过后变为1门卫核验进门后变为2离校签退后变为3管理员驳回则变为-1。这个状态字段是整个系统的枢纽论文里的状态图、代码里的update语句、页面上的按钮显隐全部围绕它转。2.2 三张核心表怎么设计字段和索引给出来我一般会把访客和访问记录拆成两张表而不是把姓名、电话、事由全塞进一张大表。原因很实在同一访客多次访校时不需要每次重复录入身份信息同时可以用身份证做唯一约束防止同一个人同一时段重复预约。至于身份证是否必填要看模板设定有的学校只要求姓名和手机号但字段结构先留出来后面扩展不伤筋动骨。三张核心表大致如下表名用途关键字段sys_user管理员/门卫账号id, username, password, role, real_name, phonevisitor访客身份档案id, visitor_name, id_card, phone, companyvisit_record每次访问记录id, visitor_id, dept_name, visited_person, reason, visit_time, leave_time, status, create_timevisit_record表里建议建三个索引status用于列表筛选visit_time用于按日统计visitor_id用于连表查询。别小看这张表论文数据库设计部分至少能写三页为什么拆访客表、为什么用外键、为什么状态用数字不用中文这些都能成为答辩时的加分点。2.3 建库脚本一次性能跑通的DDL拿到的源码包通常会在根目录或doc目录放一个sql脚本但更稳妥的做法是自己把核心表重建一遍至少要知道每个字段在管什么。下面这份DDL按MySQL 5.7语法写字符集直接铺到utf8mb4从源头减少中文乱码的排查量。CREATE DATABASE school_visit DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE school_visit; CREATE TABLE sys_user ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, role VARCHAR(20) NOT NULL DEFAULT admin, real_name VARCHAR(50), phone VARCHAR(20), create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; CREATE TABLE visitor ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, visitor_name VARCHAR(50) NOT NULL, id_card VARCHAR(18), phone VARCHAR(20), company VARCHAR(100), create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY uk_id_card (id_card) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; CREATE TABLE visit_record ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, visitor_id BIGINT UNSIGNED NOT NULL, dept_name VARCHAR(100), visited_person VARCHAR(50), reason VARCHAR(200), visit_time DATETIME NOT NULL, leave_time DATETIME, status TINYINT NOT NULL DEFAULT 0, create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, KEY idx_visit_time (visit_time), KEY idx_status (status), CONSTRAINT fk_visitor FOREIGN KEY (visitor_id) REFERENCES visitor(id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; INSERT INTO sys_user (username, password, role, real_name) VALUES (admin, MD5(123456), admin, 系统管理员), (guard01, MD5(123456), guard, 一号门卫);这份脚本里用MD5加密密码只是课设惯例真正上线必须换BCrypt再加盐。外键约束在毕业设计里建议保留写论文时可以说“外键保证访客档案与访问记录的数据完整性”但如果想在生产环境省心通常会去掉外键换应用层校验。导入脚本用mysql命令即可mysql -uroot -p school_visit school_visit.sql mysql -uroot -p school_visit -e SHOW TABLES;看到sys_user、visitor、visit_record三张表就说明库结构没问题。维护期间常用的是DESC visit_record;和SHOW CREATE TABLE visit_record;前者看字段后者看建表语句排查字段缺失时比翻代码快得多。3. 本地环境配置与启动JDK8Tomcat8.5MySQL5.7的匹配顺序SSM项目拿下来启动不了九成不是源码烂而是本机环境太新。Spring 4.x和MyBatis 3.x是十年前的主流组合那时候的Servlet规范还叫javax.servlet现在一开Tomcat 10就变成了jakarta.servlet老代码直接找不到类。所以把环境锁定到老版本组合是这类项目能跑起来的第一前提。3.1 版本踩点为什么按老版本装而不是装最新版先说结论本地跑SSM课设建议JDK 1.8、Tomcat 8.5、MySQL 5.7、Maven 3.6.x。四个版本缺一个不匹配就会引出奇怪错误。JDK 17配Spring 4启动时容易报IncompatibleClassChangeError因为ASM版本太老。Tomcat 10把javax.servlet改名成jakarta.servlet老SSM里的过滤器、DispatcherServlet全部失效。MySQL 8.0官方驱动类从com.mysql.jdbc.Driver改成了com.mysql.cj.jdbc.Driver同时默认认证插件换成caching_sha2_password老驱动直接连不上。如果用Docker跑MySQL端口映射和容器时区又会引入新的变量课设阶段没必要给自己加戏本地装一个最稳。在Windows 10上装MySQL 5.7建议下载官方installer而不是绿色版zip包。zip包少了初始化data目录和my.ini示例新手很容易在net start mysql时报“服务名无效”。5.7.44算是这个系列的收尾版本安装过程里记好root密码一路Next装完在命令行执行mysql -uroot -p能进就说明服务正常。3.2 从数据库开始导入脚本并修改jdbc.properties数据库就绪后把脚本导进去。不要手工在Navicat里一条条复制SQL量大且容易漏。命令行两行就够mysql -uroot -p -e CREATE DATABASE IF NOT EXISTS school_visit DEFAULT CHARACTER SET utf8mb4; mysql -uroot -p school_visit school_visit.sql mysql -uroot -p school_visit -e SHOW TABLES;然后去src/main/resources目录找数据库配置文件常见文件名是jdbc.properties或db.properties。改三个值用户名、密码、连接的库名。连接URL里那几个参数一个都不能删jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://127.0.0.1:3306/school_visit?useUnicodetruecharacterEncodingUTF-8useSSLfalseserverTimezoneAsia/Shanghai jdbc.usernameroot jdbc.password123456如果你是MySQL 8.0被迫营业把驱动类改成com.mysql.cj.jdbc.DriverURL再加一个allowPublicKeyRetrievaltrue否则会看到Public Key Retrieval is not allowed。这个参数的意思是允许客户端向服务端要公钥仅用于本地开发环境生产环境会禁用。3.3 Spring和MyBatis配置里要重点检查的三个参数配置数据源时我习惯用Spring自带的DriverManagerDataSource做最简验证因为它不需要额外引入Druid少一个依赖就少一个报错点。数据源配置长这样bean iddataSource classorg.springframework.jdbc.datasource.DriverManagerDataSource property namedriverClassName value${jdbc.driver}/ property nameurl value${jdbc.url}/ property nameusername value${jdbc.username}/ property namepassword value${jdbc.password}/ /bean接着往下看applicationContext.xml里的SqlSessionFactoryBean三个参数决定了MyBatis能不能找到Mapper XML和实体别名bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBean property namedataSource refdataSource/ property namemapperLocations valueclasspath:mapper/*.xml/ property nametypeAliasesPackage valuecom.school.visit.entity/ /bean bean classorg.mybatis.spring.mapper.MapperScannerConfigurer property namebasePackage valuecom.school.visit.mapper/ /beanmapperLocations负责扫XML文件typeAliasesPackage让Mapper XML里能直接写VisitRecord而不是全限定类名MapperScannerConfigurer把接口动态代理注册进Spring容器。这三个地方只要有一个路径和包名对不上启动时要么报Invalid bound statement要么报找不到bean。SpringMVC配置里还有一个容易忽略的点视图解析器的prefix和suffix必须和JSP实际存放路径一致。如果模板把JSP放在webapp/WEB-INF/views下prefix就写/WEB-INF/views/suffix写.jsp对不上时页面会404。mvc:annotation-driven/ context:component-scan base-packagecom.school.visit/ bean classorg.springframework.web.servlet.view.InternalResourceViewResolver property nameprefix value/WEB-INF/views// property namesuffix value.jsp/ /bean3.4 启动与验证用日志和页面判断项目跑通没有IDEA里点运行只是第一步真正要看的是日志。如果用Maven构建war包再部署命令更直观mvn clean package -Dmaven.test.skiptrue cp target/school-visit.war $CATALINA_HOME/webapps/ cd $CATALINA_HOME/bin ./startup.sh tail -f $CATALINA_HOME/logs/catalina.out日志里看到Server startup in xxx msTomcat就起来了。接着访问http://localhost:8080/school_visit/login.jsp能出登录页就说明Spring容器初始化成功。如果页面空白按顺序查三件事浏览器F12看请求URL404查视图路径和部署名500再看catalina.out里的Caused by。这一步做完环境问题基本清零。4. 核心链路代码走读及源码与论文PPT如何一一对应这个标题的交付物是源码lwppt最值钱的其实不是论文文字而是代码和文档能形成一一对应关系。论文里需求分析写“系统支持访客在线预约”那代码里就必须有对应的Controller方法PPT上放一张审核通过截图数据库里必须有一条状态为1的真实记录。对应不起来答辩现场一问就露馅。所以这一章用一条完整链路把代码走一遍再讲论文和PPT怎么从这条链路上取材。4.1 一次“访客预约”请求从Controller到Mapper的完整链路访客在预约页填完表单点提交请求先到Controller。SSM典型的Controller层写法是接收表单参数调用Service然后用重定向避免刷新重复提交。Controller RequestMapping(/record) public class VisitRecordController { Resource private VisitRecordService visitRecordService; RequestMapping(/save) public String save(VisitRecordVO vo, RedirectAttributes attr) { visitRecordService.save(vo); attr.addFlashAttribute(msg, 预约成功等待管理员审核); return redirect:/record/list; } }Resource按类型注入ServiceRedirectAttributes用来传一次性提示消息重定向后刷新页面不会再次插入同一笔记录。这个Controller本身很薄真正的业务在Service里。Service public class VisitRecordServiceImpl implements VisitRecordService { Resource private VisitRecordMapper visitRecordMapper; Resource private VisitorMapper visitorMapper; Override Transactional public void save(VisitRecordVO vo) { Visitor visitor new Visitor(); visitor.setVisitorName(vo.getVisitorName()); visitor.setIdCard(vo.getIdCard()); visitor.setPhone(vo.getPhone()); visitorMapper.insert(visitor); VisitRecord record new VisitRecord(); record.setVisitorId(visitor.getId()); record.setReason(vo.getReason()); record.setVisitTime(vo.getVisitTime()); record.setStatus(0); visitRecordMapper.insert(record); } }这里加了Transactional意思是“先建访客档案、再建访问记录”这两步必须同时成功。如果第二条SQL失败第一条也要回滚否则数据库里会出现一个没有访问记录的孤立访客。论文写事务控制部分拿这个例子说最贴合SSM。最后落到MyBatis的Mapper XML访客表插入时必须把数据库自增主键回填到对象里insert idinsert parameterTypeVisitor useGeneratedKeystrue keyPropertyid INSERT INTO visitor(visitor_name, id_card, phone, company) VALUES(#{visitorName}, #{idCard}, #{phone}, #{company}) /insertuseGeneratedKeystrue配合keyPropertyid相当于执行完insert后把自增id塞进java对象的id属性。很多初写SSM的人漏掉这一句下一步拿visitor.getId()时得到null再把null写进visit_record的外键。4.2 管理员审核与门卫签到状态机只用一个字段管理员审核页面本质上是更新visit_record的status字段。代码实现通常是一个通用的updateStatus方法update idupdateStatus UPDATE visit_record SET status #{status}, update_time NOW() WHERE id #{id} /updateController层把status当作参数接收但不能是个人都能调这个接口。常见做法是写一个登录拦截器校验session里的role字段只有admin和guard角色才能走审核和签到接口。课设项目里用session存用户信息够用不需要上Shiro这种重量级框架。状态值约定为-1已驳回、0已预约、1审核通过、2已进校、3已离校。门卫进门是updateStatus(id, 2)签退是updateStatus(id, 3)。这里有个小坑不同模板对“待审核”和“审核通过”的数字定义可能完全相反代码里凡是出现status1或status0的地方都要先回数据库确认定义别凭感觉改。4.3 论文章节怎么和代码对应起来而不是两张皮论文最怕写成“框架科普”答辩老师问一个页面背后的实现答不上来。我的做法是先列一张映射表把论文每一章要用的素材钉死在代码的某个具体位置。论文章节该放的内容素材来源绪论背景线下登记的痛点从访客登记流程画一张现状图需求分析角色用例图、状态图从Controller接口反推四个角色能做什么系统设计E-R图、表结构、三层架构图第2章的DDL和Navicat导出的E-R图系统实现页面截图、核心代码ControllerServiceMapper XML各选15行系统测试功能测试用例表按预约、审核、进门、签退各写两条用例论文里的截图日期和数据一定要和当前数据库一致。很多模板源码里自带老截图年份都是几年前的答辩时一眼穿帮。正确做法是系统跑通后自己重新截一遍图再用画图工具把关键地方圈出来。4.4 答辩PPT十页左右的骨架和每页的重点答辩PPT不建议超过12页内容聚焦在“能跑、有设计、有测试”三个词上。一页截图配三行字就够了不要把源码大段贴上去。至少留9页封面放题目和技术栈接着是背景、功能结构图、数据库E-R图、关键表字段、核心流程演示、核心代码、测试结果、总结与不足。功能结构图用树状图访客端、管理员端、门卫端各一根分支核心流程演示环节放“预约-审核-进门-签退”四张截图按顺序讲两分钟就能把闭环讲完。PPT里最好专门放一张状态流转图就是第2章那条0到3的箭头链路。这张图贴出来评委马上知道你理解的是业务状态而不是一个字段和那些只会念“SpringMVC是控制器”的学生立刻拉开差距。5. 避坑清单SSM连接MySQL最常见的5个翻车现场SSM项目翻车翻得最多的地方几乎都集中在环境匹配、MySQL版本、路径和编码上。下面这些坑我基本每次都遇到按现象、原因、解决顺序写在了一起。5.1 MySQL驱动类找不到com.mysql.jdbc.Driver变红了现象Tomcat启动时控制台报ClassNotFoundException: com.mysql.jdbc.Driver。原因本机装的是MySQL 8.0而项目里pom还引着mysql-connector-java 5.1.x。MySQL 8.0官方驱动把类名改成了com.mysql.cj.jdbc.Driver。另外Windows上装MySQL 5.7时用了zip解压版少了初始化步骤后面连库也会出问题。解决要么把pom里的mysql驱动版本固定为5.1.47驱动类保持不变要么用MySQL 8.0把jdbc.properties里的驱动类和URL按3.2节改掉。我一般建议直接把本机换成MySQL 5.7和课设模板匹配度最高。5.2 MySQL 8.0连不上提示Public Key Retrieval is not allowed现象Navicat能连数据库但项目启动一访问就报Public Key Retrieval is not allowed或caching_sha2_password相关错误。原因MySQL 8.0默认认证插件是caching_sha2_password老驱动不支持在非SSL连接下自动获取公钥。解决在jdbc.url后面追加两个参数allowPublicKeyRetrievaltrueuseSSLfalse。同时确认mysql-connector-java版本是8.0.x。如果项目里账户密码是新建的还可以把那行用户改成mysql_native_password认证但属治标不治本。5.3 Tomcat 10启动报javax.servlet.Filter找不到现象项目在Tomcat 10下启动直接抛NoClassDefFoundError: javax/servlet/Filter或ClassNotFoundException: javax.servlet.*。原因从Tomcat 10开始Servlet规范包名从javax.servlet变成了jakarta.servlet。SSM项目里所有旧jar都基于javax二者不兼容。解决别用Tomcat 10换Tomcat 8.5或9.0。这不是项目代码的错是Web容器版本跨度太大。对应地JDK也固定用1.8别在IDEA里默认指向JDK 17。5.4 录入“张三”数据库里变成乱码现象页面表单填中文没问题提交后MySQL里变成å¼ ä¸或???。原因字符集链路断了。四层有一个不一致就会乱码数据库表字符集、JDBC连接串的characterEncoding、JSP页面pageEncoding、Tomcat的URIEncoding。解决按顺序检查。建库用DEFAULT CHARACTER SET utf8mb4连接串必须有characterEncodingUTF-8JSP文件头设pageEncodingUTF-8最后在Tomcat的server.xml的Connector上加一句URIEncodingUTF-8。四层改完再乱码就查JSP文件本身是不是用IDE存成了GBK。5.5 IDEA里点运行没报错浏览器就是404现象IDEA启动Tomcat时日志一切正常但浏览器访问项目路径一直404。原因IDEA部署设置不对。典型问题有两个Artifacts没有选war exploded或者Deployment里的Application context没有设成/school_visit。解决在Run Configurations里找到Tomcat ServerDeployment标签下把项目的Application context改成/school_visit然后访问http://localhost:8080/school_visit/login.jsp。如果改成根路径/那就直接访问http://localhost:8080/login.jsp。判断依据是catalina.out里实际部署的路径而不是自己嘴巴认为的路径。6. 十分钟验收脚本与一个值得加的小功能这套系统拿回来先别急着美化页面按下面顺序跑一遍十分钟就能证明代码和数据库是不是真的通了。6.1 三分钟跑通清单步骤操作预期结果1启动MySQL执行SHOW DATABASES能看到school_visit库2启动Tomcat访问登录页登录页正常显示无5003模拟访客提交一条预约记录访问列表出现新记录status为04用管理员账号审核通过记录status变为15切到门卫账号点击进门记录status变为26再次点击签退记录status变为3leave_time不为空这套顺序覆盖了系统的核心状态链路中途哪一步卡住就直接定位到对应模块不需要满项目翻代码。我每次验收都会把六步走完再碰页面样式。在此基础上一个很轻量又能体现能力的扩展是给列表加状态筛选。具体做法是Controller加一个RequestParam(valuestatus, requiredfalse) Integer status参数Service把参数透传给MapperMapper XML的查询语句里加一段动态SQLif teststatus ! null AND vr.status #{status} /if这个改动二十分钟能完成但它把SSM的完整调用链重新演练了一遍改Controller接收参数、改Service透传、改Mapper XML拼条件、刷新页面看结果。答辩时能讲清楚“状态筛选是基于MyBatis动态SQL实现的”这句话比背十个框架名词都顶用。整理这类系统时我最深的体会是真正让人翻车的不是Spring和MyBatis的原理有多深而是配置文件里的版本、路径、编码这三样小事。把这套验收顺序固定下来每个新项目到手先建库、再改连接串、然后按状态链路走一遍环境问题一上午就能清干净。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

数字后端设计中的IR Drop分析与优化:从物理本质到实战策略

数字后端设计中的IR Drop分析与优化:从物理本质到实战策略

1. 从一个真实翻车案例说起:为什么芯片会“饿死”在最后一毫米刚入行那会儿,我参与过一颗28nm工艺的SoC后端项目。前端仿真全过,时序在签核前也收得干干净净,团队都觉得稳了。结果流片回来一测,芯片在满载场景下跑不到…

2026/10/7 13:02:06 阅读更多 →
EasyHook实现.NET用户态虚拟文件系统

EasyHook实现.NET用户态虚拟文件系统

简介:本资源是一套基于 .NET 平台与 EasyHook 库实现的虚拟文件系统源码工程,面向 Windows 系统底层开发、API 钩子(Hook)技术学习者及安全/沙箱类工具开发者,解决文件操作行为拦截、虚拟路径映射与进程级监控等核心问…

2026/10/7 13:01:05 阅读更多 →
OpenCV指纹识别FVS实战:细节点提取与匹配

OpenCV指纹识别FVS实战:细节点提取与匹配

简介:这是一份基于OpenCV与Visual C实现的指纹识别(FVS)实战工程,面向具备C基础、正在学习计算机视觉或生物识别技术的开发者和学生,完整展示了从指纹图像预处理、纹线检测、特征提取到模板匹配的系统流程。压缩包共57…

2026/10/7 13:01:05 阅读更多 →

最新新闻

C++从零实现泡泡堂:SDL2游戏循环与碰撞检测实战

C++从零实现泡泡堂:SDL2游戏循环与碰撞检测实战

简介:这是一份面向C初学者、课程设计学生与游戏开发爱好者的泡泡堂小游戏完整源码工程,适合用来练习面向对象编程、图形绘制与局域网联机通信。项目基于C实现,涵盖地图与人物绘制、水泡动画效果、鼠标键盘交互、障碍物碰撞、泡泡放置与爆炸&a…

2026/10/7 13:32:28 阅读更多 →
VSCode便携版完全指南:制作、配置、避坑与备份

VSCode便携版完全指南:制作、配置、避坑与备份

简介:这是一份解压即用的vscode便携版,面向需要跨设备使用、或没有管理员权限的开发者,提供完整IDE体验且无任何功能限制,免除安装步骤,适合快速搭建临时开发环境。压缩包共1371个文件,以json配置文件、js/…

2026/10/7 13:32:28 阅读更多 →
主板DDR与PCIe逆向资料库的技术价值解析

主板DDR与PCIe逆向资料库的技术价值解析

1. 项目本质与真实价值定位“电脑主板资料库 03【转至www.ongood.com.tw】【FreeXploiT收集整理】”——这个标题乍看像一个普通资源包,但拆开来看,它其实是一份高度浓缩的工业级主板逆向工程知识结晶。我接触过大量类似资料包,绝大多数只是P…

2026/10/7 13:32:28 阅读更多 →
宇树G1机器人语音交互二次开发:对话、打断与激活实战

宇树G1机器人语音交互二次开发:对话、打断与激活实战

1. 项目概述一直关注宇树G1这台机器人的朋友应该清楚,它在人形机器人里算是把性价比和可玩性拉满的一个存在。相比上一代或者同级别的其他平台,G1不仅硬件开放度高,而且官方提供的Unitree SDK几乎覆盖了底层关节控制、状态读取、运动控制等所…

2026/10/7 13:32:28 阅读更多 →
Python卷积神经网络人脸识别驾驶员疲劳检测与预警系统实战

Python卷积神经网络人脸识别驾驶员疲劳检测与预警系统实战

简介:本资源是一套基于Python卷积神经网络的人脸识别驾驶员疲劳检测与预警系统,面向计算机、人工智能相关专业的毕业设计、期末大作业与课程设计场景,适合具备一定Python基础、希望快速完成高分项目的学生使用。压缩包共20个文件,…

2026/10/7 13:32:28 阅读更多 →
Java毕设实战:高校智能浴室管理系统源码拆解与二次开发指南

Java毕设实战:高校智能浴室管理系统源码拆解与二次开发指南

简介:这份资源是面向高校计算机相关专业学生与Java初学者的一套完整项目实战包,以「高校智能浴室管理系统」为题,可作为毕业设计、课程设计或AndroidJava全栈练手参考。系统采用Java语言与JDK1.8开发,数据库为MySQL 5.7&#xff0…

2026/10/7 13:31:27 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →