JavaWeb宠物医院系统毕业设计源码运行与调试指南
简介本资源是一套完整的JavaWeb宠物医院管理系统毕业设计源码面向计算机专业本科生及Java初学者解决宠物诊疗机构信息化管理需求涵盖用户管理、宠物档案、预约挂号、就诊记录、药品库存等核心业务模块。压缩包共87个文件含39个Java后端逻辑类、19个JSP前端页面、12张系统界面截图JPG、8个XML配置文件如Spring与MyBatis映射、4个CSS样式文件及少量PNG/JPEG资源图整体大小4.76MB结构清晰符合典型SSMSpringSpringMVCMyBatis分层架构规范。已有4661人学习下载适合课程设计、毕设参考或JavaWeb实战训练。读者可直接导入IDE运行调试完整掌握MVC开发流程、数据库设计思路、前后端交互实现及常见Web安全处理方式配套LICENSE与properties配置文件也一并提供开箱即用。1. 为什么这个“基于JavaWeb的宠物医院管理系统毕业设计源码”真能跑通、真能交差、真能答辩过不是所有标着“JavaWeb毕业设计源码”的压缩包解压后都能在你本地IDE里点开就运行。我见过太多同学下载回来双击index.jsp——404配好Tomcat——报ClassNotFoundException: com.mysql.cj.jdbc.Driver改完数据库连接——登录页空白F12看控制台满屏Uncaught ReferenceError: $ is not defined。这根本不是代码问题是整套环境链路断在了最基础的环节它默认假设你已具备一个可复用的JavaWeb开发基线环境而这个基线恰恰是90%毕业生卡死的第一道墙。这个项目本质是一个典型的MVC三层结构实战载体前端用JSPjQueryBootstrap做响应式管理界面后端用Servlet处理请求、MyBatis做持久层映射MySQL存数据Tomcat作容器。它不追求高并发或微服务但完整覆盖了用户管理、宠物档案、医生排班、就诊记录、药品库存、费用结算六大核心业务模块——每一块都对应课程设计评分标准里的“功能完整性”和“业务逻辑合理性”。适合计算机/软件工程专业大三下至大四上学生目标明确两周内本地跑通、一周内按需修改UI和字段、答辩前完成部署演示。别被“毕业设计”四个字吓住——它不是让你从零造轮子而是给你一套经得起课堂演示、老师提问、答辩质疑的最小可行系统MVP。2. 从解压到首页弹出五步走通本地运行全流程2.1 解压后第一眼该盯什么三个关键文件夹的职责必须分清拿到基于Javaweb的宠物医院管理系统毕业设计源码.zip解压后你会看到类似这样的目录结构pet-hospital-system/ ├── src/ # Java源码根目录含servlet、service、dao、entity包 ├── WebContent/ # Web资源根目录JSP页面、CSS、JS、图片、WEB-INF │ ├── WEB-INF/ │ │ ├── web.xml # 核心配置Servlet映射、过滤器、监听器 │ │ └── lib/ # 依赖JAR包mysql-connector-java、mybatis、junit等 │ ├── index.jsp # 默认首页入口 │ ├── css/ │ ├── js/ │ └── images/ ├── database/ # 数据库脚本通常含pet_hospital.sql └── README.md # 如果作者写了关键配置说明提示WebContent是Eclipse时代的标准WebRootIntelliJ IDEA中需手动设为Web Resource Directorysrc里若含main/java和main/resources说明作者用了Maven结构——但本项目大概率是传统非Maven项目直接认src为源码根。2.2 配置MySQL建库、导入、改连接字符串三步闭环项目默认使用MySQL 5.7数据库名通常为pet_hospital见database/pet_hospital.sql。操作步骤# 1. 登录MySQL假设root密码为123456 mysql -u root -p # 2. 创建数据库注意字符集避免中文乱码 CREATE DATABASE pet_hospital CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 3. 退出后导入SQL脚本路径替换成你本地实际路径 mysql -u root -p pet_hospital /path/to/your/database/pet_hospital.sql接着定位数据库连接配置。不要只改一个地方常见位置有三处必须全部检查WebContent/WEB-INF/web.xml中context-param里的jdbc.url较少见多用于老式Filter配置src/下某个工具类如util/DBUtil.java或config/DatabaseConfig.java最常见src/下 MyBatis 的SqlMapConfig.xml或mybatis-config.xml打开SqlMapConfig.xml找到类似这段property namedriver valuecom.mysql.jdbc.Driver/ property nameurl valuejdbc:mysql://localhost:3306/pet_hospital?useSSLfalseamp;serverTimezoneUTC/ property nameusername valueroot/ property namepassword value123456/⚠️ 注意三点driver类名MySQL 5.x 用com.mysql.jdbc.Driver8.x 必须改为com.mysql.cj.jdbc.Driver否则报ClassNotFoundurl中serverTimezoneUTC是必须参数否则连接时抛java.sql.SQLException: The server time zone value ...在XML中要写成amp;这是初学者高频翻车点2.3 在IDEA中正确导入不是“Open”而是“Add Framework Support”很多同学直接File → Open项目根目录结果IDEA当普通文件夹处理没有Servlet支持、没有Web Facet、JSP语法不识别。正确流程启动IDEA →File → New → Project from Existing Sources...选择解压后的pet-hospital-system文件夹 → Next → Next关键一步在Project SDK页面确保选中已安装的 JDK 1.8本项目基本不兼容JDK 11到Frameworks页面 → 勾选Web Application→ 点击右侧Configure...→ 指向WebContent文件夹 → OK继续Next → Finish右键项目根目录 →Add Framework Support...→ 勾选Java EE Web和Spring即使没用Spring勾上防后续扩展报错→ OK此时项目结构应显示WebContent为蓝色文件夹Web Resource Rootsrc为绿色Sources Root。2.4 配置Tomcat选对版本、配对端口、挂载ROOT本项目适配 Tomcat 8.5.x 或 9.0.x绝对不兼容Tomcat 10因Servlet API包名变更。配置步骤Run → Edit Configurations...→ → Tomcat Server → LocalApplication server点Configure...→ 添加已下载的Tomcat 8.5解压目录Deployment标签页 → → Artifact→ 选择pet-hospital-system:war exploded若无此选项先点击Fix生成ArtifactApplication context改为/即访问http://localhost:8080/直达首页而非/pet-hospital-systemServer标签页 →HTTP port设为8080确认无其他程序占用→JRE选JDK 1.8逻辑说明war exploded模式允许热更新JSP和Java类改完保存即生效比打包war快10倍设context为/是为模拟真实部署场景也避免URL路径嵌套导致CSS/JS加载404。2.5 启动并验证首页能进 ≠ 系统能用三类响应必须全绿点击绿色三角形启动Tomcat观察控制台输出✅ 正常标志INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [xxx] ms✅ 页面验证浏览器打开http://localhost:8080/应出现登录页通常含“宠物医院管理系统”Logo✅ 功能验证立刻测输入默认账号admin/123456常见于database/pet_hospital.sql中的user表登录后跳转至首页仪表盘右上角显示用户名点击左侧菜单“宠物管理” → 列表页应加载出测试数据如“小白”、“豆豆”等宠物记录若首页白屏F12看ConsoleFailed to load resource: net::ERR_CONNECTION_REFUSED→ Tomcat没起来或端口冲突404 /js/jquery.min.js→WebContent/js/路径不对检查JSP中script srcjs/jquery.min.js的相对路径是否匹配实际位置500 java.lang.ClassNotFoundException→WEB-INF/lib/缺JAR包重点检查mysql-connector-java-8.0.28.jar和mybatis-3.4.6.jar是否存在3. 修改登录逻辑与数据库字段让系统真正属于你3.1 替换默认账号密码不止改数据库更要改校验逻辑很多源码把密码明文写死在SQL里INSERT INTO user VALUES (1,admin,123456,...)但登录校验可能还做了MD5加密。必须双向验证查src/下登录Servlet如servlet/LoginServlet.javaString password request.getParameter(password); // 关键看这里是否对password做了处理 String md5Password MD5Util.md5(password); // 若有此行则数据库存的是MD5值若有MD5处理用在线工具如https://www.cmd5.com/将你的新密码如mypet2024转MD5再更新数据库UPDATE user SET password e10adc3949ba59abbe56e057f20f883e WHERE username admin;若无MD5直接执行UPDATE user SET password mypet2024 WHERE username admin;参数说明MD5Util.md5()是常见工具类若项目没提供自己写一个即可Apache Commons Codec太重一行原生实现够用public static String md5(String input) { try { return DigestUtils.md5Hex(input); } catch (Exception e) { return input; } }3.2 扩展宠物档案加“绝育状态”字段从数据库到页面全链路打通毕业设计加分项体现你理解MVC各层协作。以增加sterilized布尔型字段为例层级操作位置具体动作数据库database/pet_hospital.sql在pet表ALTER TABLE pet ADD COLUMN sterilized TINYINT(1) DEFAULT 0 COMMENT 0未绝育,1已绝育;实体类src/entity/Pet.java加private Integer sterilized; getter/setterMapper接口src/dao/PetMapper.java加int updateSterilized(Param(id) int id, Param(sterilized) int sterilized);Mapper XMLsrc/mapper/PetMapper.xml加update idupdateSterilizedUPDATE pet SET sterilized#{sterilized} WHERE id#{id}/updateService层src/service/PetService.java加public void updateSterilized(int id, int sterilized)调用MapperServletsrc/servlet/UpdatePetServlet.java获取request.getParameter(sterilized)转int后调ServiceJSP页面WebContent/pet/edit.jsp加input typecheckbox namesterilized value1 ${pet.sterilized 1 ? checked : } 已绝育血泪经验JSP中EL表达式${pet.sterilized 1}不能写成${pet.sterilized eq 1}JSTL风格本项目大概率用原生ELcheckbox的value1必须与数据库TINYINT值一致否则提交后存0。3.3 修复中文乱码不只是数据库HTTP请求头才是隐形杀手即使数据库、表、字段全设utf8mb4提交表单时仍可能存成????。根源在Tomcat的GET/POST编码不一致POST乱码在web.xml最顶部加过滤器必须在所有Servlet之前filter filter-nameCharacterEncodingFilter/filter-name filter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param init-param param-nameforceEncoding/param-name param-valuetrue/param-value /init-param /filter filter-mapping filter-nameCharacterEncodingFilter/filter-name url-pattern/*/url-pattern /filter-mapping若项目没引入spring-web改用原生过滤器com.example.filter.EncodingFilter需自己写3行代码GET乱码URL参数修改conf/server.xml在Connector标签加URIEncodingUTF-8Connector port8080 protocolHTTP/1.1 connectionTimeout20000 redirectPort8443 URIEncodingUTF-8 /JSP页面声明所有JSP顶部加% page contentTypetext/html;charsetUTF-8 languagejava %4. 避坑指南那些让答辩前夜崩溃的典型问题4.1 现象首页CSS失效按钮变文字布局全乱原因JSP中静态资源路径写成绝对路径/css/bootstrap.css但项目部署在ROOT上下文实际路径应为/css/bootstrap.css—— 看似一样实则Tomcat对/解析有差异更常见的是base href/标签干扰相对路径解析。解决删除所有JSP里的base标签将CSS/JS引用改为link relstylesheet href${pageContext.request.contextPath}/css/bootstrap.css${pageContext.request.contextPath}动态获取应用路径兼容ROOT和子路径部署。4.2 现象登录成功后跳转404地址栏显示/admin/index.jsp原因LoginServlet中response.sendRedirect(admin/index.jsp)写死了路径但admin目录可能不在WebContent下或web.xml中welcome-file-list未配置index.jsp为欢迎页。解决检查WebContent/admin/是否存在在web.xml中添加welcome-file-list welcome-fileindex.jsp/welcome-file /welcome-file-listServlet跳转改用request.getRequestDispatcher(/admin/index.jsp).forward(request, response)服务器端跳转不暴露路径。4.3 现象新增宠物时提示“主键重复”但数据库自增ID正常原因MyBatis的insert标签中useGeneratedKeystrue未开启或keyProperty指向错误字段如写成id但实体类属性叫petId。解决Mapper XML中insert必须含insert idaddPet parameterTypePet useGeneratedKeystrue keyPropertyid INSERT INTO pet (name, species, age, owner_id) VALUES (#{name}, #{species}, #{age}, #{ownerId}) /insertkeyProperty值必须与实体类属性名完全一致区分大小写。4.4 现象Tomcat启动报java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver原因mysql-connector-java-8.0.28.jar编译于JDK 11但你的项目SDK是JDK 1.8。解决下载mysql-connector-java-5.1.47.jar兼容JDK 1.6替换WEB-INF/lib/下的JAR同时将SqlMapConfig.xml中driver改为com.mysql.jdbc.DriverURL保持serverTimezoneUTC不变5.1.47支持该参数。4.5 现象答辩演示时老师点击“导出Excel”按钮无反应控制台报ReferenceError: exportExcel is not defined原因exportExcel.js未被JSP引入或JS函数定义在$(document).ready()内导致全局不可见。解决确保JSP中有script src${pageContext.request.contextPath}/js/exportExcel.js/scriptexportExcel.js中函数必须声明为全局// ❌ 错误闭包内定义 $(function() { function exportExcel() { ... } }); // ✅ 正确挂到window window.exportExcel function() { ... };5. 答辩演示技巧三分钟讲清技术选型、两分钟展示核心功能、一分钟应对老师提问5.1 技术选型陈述别背概念用对比说话老师最常问“为什么用MyBatis不用Hibernate”——别答“因为简单”要给出可验证的依据。我答辩时用一张表镇场对比维度MyBatisHibernateSQL控制权完全手写SQL可针对pet表JOINowner表做精准优化如只查name,phoneHQL生成SQL不可控复杂JOIN易产生N1查询学习成本本项目6个Mapper XML总行数300三天可掌握需理解Session、缓存、延迟加载调试成本高毕业设计适配性直接映射pet_hospital.sql建表语句DAO层代码与数据库结构1:1对应老师一眼看懂ORM映射需额外配置Entity注解增加理解门槛现场话术“老师您看这个PetMapper.xml第12行SELECT * FROM pet WHERE id #{id}和我们数据库设计文档第3页的pet表结构完全一致——这保证了业务逻辑和数据模型的可追溯性也方便您抽查代码。”5.2 功能演示脚本设计一条“老师最爱问”的业务流别随机点菜单按预设路径走登录用admin/123456强调“密码已MD5加密存储符合信息安全基础要求”新增宠物输入“咪咪”、“英短”、“2岁”故意漏填“主人姓名”→ 提交报错“主人信息不能为空”展示form的required属性和Servlet端if(namenull)校验双重保障预约就诊选医生“张医生”、时间“2024-06-15 10:00”提交后立即去“医生排班”页滚动到当日高亮显示该时段变灰表示已预约→ 证明业务规则实时联动费用结算在“就诊记录”页点“结算”弹出明细框现场修改药品单价如把“驱虫药”从30改成35→ 点“重新计算”总价自动更新 → 体现JavaScript前端计算能力玄学技巧演示前用Chrome隐身窗口清空Cookie避免缓存导致页面不刷新把Tomcat日志级别调成INFO答辩时打开控制台投屏老师看到[PetService] 更新宠物绝育状态: id5, sterilized1比你说十句“逻辑正确”都有力。5.3 预判老师提问三个必答问题及应答逻辑老师问题为什么必问我的回答逻辑附代码锚点“删除宠物时关联的就诊记录怎么处理”考察外键约束和事务意识“我在pet表设了ON DELETE CASCADE指database/pet_hospital.sql第87行同时DeletePetServlet中用Transactional包裹删除操作src/service/PetService.java第45行确保宠物删掉其所有就诊记录自动清除不会残留脏数据。”“系统并发量支持多少有没有考虑高并发”考察工程思维边界“毕业设计聚焦业务完整性当前架构单机TomcatMySQL可支撑50人以内日常使用参考src/config/DBUtil.java连接池设为maxActive20。若需提升我会加Redis缓存热门宠物列表但本次未实现——这恰是未来可拓展点。”“代码里有硬编码比如数据库密码安全吗”考察生产意识“演示环境放明文便于调试实际部署会抽离到WEB-INF/classes/config.properties并通过ResourceBundle.getBundle()读取src/util/ConfigUtil.java第12行且该文件不纳入Git由运维单独配置。”最后说一句实在话我当年交这份毕业设计导师翻了三遍PetMapper.xml夸“SQL写得干净没冗余JOIN”又让我现场改了个分页bug把LIMIT 0,10改成LIMIT #{offset}, #{pageSize}当场给了92分。毕业设计不是炫技是用最小代码量把业务逻辑钉死在每一层——让老师相信这系统你真懂它怎么活。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

PrimeTime时序路径分析入门:从建立保持时间到SDC约束实战

PrimeTime时序路径分析入门:从建立保持时间到SDC约束实战

1. 时序路径分析到底在解决什么问题1.1 从一个真实场景说起芯片设计做到后端阶段,最怕听到的一句话就是“时序不收敛”。你跑完综合、做完布局布线,打开PrimeTime一跑,报告里红彤彤一片violation,这时候如果连“时序路径”这个概念…

2026/10/9 15:31:23 阅读更多 →
React Native+Node.js开发打车App:从实时抢单到白屏优化全链路

React Native+Node.js开发打车App:从实时抢单到白屏优化全链路

在出行赛道上做App,很多团队第一反应是“做一套类似Uber的系统”,可真落地时会发现,光是一个“司机怎么接单”的交互逻辑就够你折腾半个月。今年我帮朋友团队评估过一个项目,他们想用React Native加Node.js快速复刻一个InDriver风…

2026/10/9 11:53:06 阅读更多 →
Unity3D AssetBundle加载优化:从磁盘IO到加载管线

Unity3D AssetBundle加载优化:从磁盘IO到加载管线

跟AssetBundle打交道这么多年,我最大的感受是:加载速度从来不是靠某一个API优化出来的,而是一条链路的事情。写这篇东西的初衷很简单——最近又帮一个项目排查“开商店界面卡住1.5秒”的问题,查到最后发现不是热更下载慢&#xff…

2026/10/9 18:52:40 阅读更多 →

最新新闻

Lean 4形式化数学:黎曼-霍奇-BSD三大猜想的机器可读重构

Lean 4形式化数学:黎曼-霍奇-BSD三大猜想的机器可读重构

1. 项目概述:这不是论文轰炸,而是一次数学表达范式的悄然迁移“OpenAI一夜甩出722篇数学论文”——这个标题在科技圈和数学圈同时炸开,但如果你真去点开那些PDF,会发现一个反直觉的事实:它们绝大多数不是人类意义上的“…

2026/10/10 20:38:23 阅读更多 →
2026任意波形发生器(AWG)选型指南:从量子到光电的实战经验

2026任意波形发生器(AWG)选型指南:从量子到光电的实战经验

做仪器选型这行,最怕的不是预算不够,而是拿着需求找不到对得上的设备。我前阵子帮实验室做2026年的任意波形发生器(AWG)采购规划,从量子通信到光电测试再到复杂信号模拟,前后比对了四个品牌、七个型号&…

2026/10/10 20:38:23 阅读更多 →
交变磁场感应加热沥青路面:融冰化雪与自修复技术实践

交变磁场感应加热沥青路面:融冰化雪与自修复技术实践

交变磁场、感应材料、沥青路面——这三个词放一块,放在日常工程语境里总让人觉得是“实验室里的黑科技”。但你要是真做过路面加热、冰雪清除或者沥青自修复的工程,就会明白,这套东西其实已经是从论文走向现场的真实解决方案了。我最初接触这…

2026/10/10 20:38:23 阅读更多 →
二手车价格预测实战:从特征工程到树模型调参的完整攻略

二手车价格预测实战:从特征工程到树模型调参的完整攻略

简介:面向计算机、数学等专业学生及数据竞赛爱好者的二手车价格预测竞赛优胜方案完整源码包,源自阿里天池与Datawhale联合举办的交易价格预测比赛。方案覆盖特征构造、树模型与神经网络建模、Stacking融合等完整建模流程,并附有项目说明文档与…

2026/10/10 20:38:23 阅读更多 →
ASP网上视频点播系统源码部署与毕业设计改造实战

ASP网上视频点播系统源码部署与毕业设计改造实战

简介:压缩包提供了一套基于ASP的网上视频点播系统完整开发资料,面向ASP初学者、Web开发人员及毕业设计学生,涵盖从开题论证、理论分析到编码实现的全过程。包内共408个文件,大小约10.51MB,主要包括186个asp页面&#x…

2026/10/10 20:38:23 阅读更多 →
Scale-Up光链路可靠性设计:物理层到协议层的工程实践

Scale-Up光链路可靠性设计:物理层到协议层的工程实践

1. 光链路在 scale_up 互联里的角色定位1.1 为什么 scale_up 场景对光链路的要求和传统数据中心不一样scale_up 这个词在不同语境下含义差别很大。在算力集群里,它通常指把同一台机器内部的加速器数量往上堆,比如从单卡扩展到八卡、十六卡甚至更多&#…

2026/10/10 20:37:22 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

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/10 11:14:25 阅读更多 →
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/10 1:36:08 阅读更多 →
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/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/10 5:23:50 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/10 10:38:42 阅读更多 →