JSP志愿者服务平台实战:含个人信息展示与坐标定位
简介这是一套基于Java Web技术栈开发的JSP志愿者服务平台源码面向高校计算机专业学生、Java初学者及Web开发入门者旨在提供一个功能完整、结构清晰的B/S架构公益类项目实践案例。平台涵盖志愿者注册登录、项目发布与跟踪、服务时长统计、培训视频管理、新闻资讯发布、交流分享及表彰激励等核心模块覆盖前后端典型业务场景适合用于课程设计、毕业设计或全栈开发能力训练。资源包共953个文件以157个JSP页面实现动态交互、93个Java类含Controller与业务逻辑、93个Class字节码、80个Jar依赖库、74个JS脚本及62个JPG/PNG图片为主辅以XML配置、CSS样式与SQL数据库脚本整体压缩包大小为36.67MB目录组织规范便于理解MVC分层结构与JSPServletMySQL开发流程。目前已有52人学习下载获取即得可运行的完整工程、配套数据库设计说明及模块化功能源码助你快速掌握志愿者系统开发要点与常见Web开发模式。1. 这不是又一个“Hello World”JSP项目它是一套能跑通志愿者注册、任务发布、服务记录、组织审核四步闭环的Java Web实战包适合正在赶毕设、接外包或重构老旧政务类系统的开发者你手头这份基于jsp志愿者服务平台.zip不是教学演示用的空壳Demo而是一个完整落地过真实社区志愿管理场景的Java Web工程压缩包。它用JSPServletMySQL构建前后端交互核心模块包括志愿者个人信息展示页面含头像上传与坐标定位式信息布局、服务任务动态发布与状态流转、服务时长自动累计与导出、组织管理员多级审核流——这些功能在2023年某区文明办试点系统中实际运行超8个月。项目没用Spring Boot“新瓶装旧酒”而是老老实实走Servlet生命周期、JDBC直连、JSTL标签控制逻辑对理解Java Web底层机制反而更透。如果你正被毕设答辩卡在“业务逻辑不闭环”、外包验收卡在“页面交互太静态”、或者单位老系统要加个志愿者入口却找不到可复用的Java Web模板这个包就是你拆开就能焊进自己项目的“标准件”。它不炫技但每行JSP都带真实表单校验、每个Servlet都处理了并发提交、每个SQL都加了防注入参数化——这才是JSP没死只是换了一种更务实的活法。2. 从解压到启动三步跑通本地Tomcat环境看清它到底用了哪些“老派但可靠”的技术组合2.1 解压后目录结构解析为什么说它不是玩具项目解压后你会看到典型的Java Web传统目录树volunteer-platform/ ├── WebContent/ # JSP页面、CSS/JS、图片资源存放处 │ ├── index.jsp │ ├── login.jsp │ ├── volunteer/ # 志愿者相关页面含个人信息展示页 │ │ └── profile.jsp # 关键这就是热搜词“jsp个人信息展示页面”的本体 │ ├── admin/ # 管理员后台 │ └── WEB-INF/ │ ├── web.xml # Servlet映射配置没用注解全靠XML定义 │ └── lib/ # 仅含 mysql-connector-java-5.1.47.jar jstl-1.2.jar ├── src/ # Java源码按包名分层清晰 │ ├── servlet/ # 所有Servlet入口LoginServlet、TaskPublishServlet等 │ ├── dao/ # JDBC直连封装UserDAO、TaskDAO │ ├── model/ # POJO实体Volunteer.java、Task.java │ └── util/ # 工具类DBUtil.java含连接池初始化、FileUploadUtil.java处理图片上传 └── db/ # 包含建库SQL脚本 volunteer_db.sql提示这个结构刻意回避了Maven依赖管理所有jar包手动放入WEB-INF/lib是为了让初学者看清Classpath加载路径web.xml里Servlet映射写得极细比如url-pattern/volunteer/profile/url-pattern方便你对照URL理解请求路由逻辑。2.2 数据库准备执行SQL脚本前必须改的三处关键字段项目附带的db/volunteer_db.sql建库脚本需做以下修改才能在你的MySQL 5.7环境跑通-- 修改1显式指定字符集避免中文乱码原脚本常漏掉这行 CREATE DATABASE IF NOT EXISTS volunteer_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 修改2用户表中头像路径字段原脚本为VARCHAR(100)但实际上传会生成长路径改为 ALTER TABLE volunteer MODIFY avatar_path VARCHAR(255); -- 修改3任务状态字段原脚本用TINYINT(1)但代码中用字符串pending/approved比对改为 ALTER TABLE task MODIFY status ENUM(pending,approved,rejected,completed) DEFAULT pending;执行完建库脚本后用Navicat或命令行导入初始数据INSERT INTO user VALUES (1,admin,e10adc3949ba59abbe56e057f20f883e,admin);密码是明文123456的MD5值——这是为了让你快速登录后台上线前务必在LoginServlet里替换为BCrypt加密校验。2.3 Tomcat部署实操别急着点启动先确认这四个配置项将整个volunteer-platform/文件夹复制到Tomcat的webapps/目录下注意不是复制内部的WebContent而是整个项目文件夹然后启动Tomcat前检查JDK版本项目编译级别为Java 1.7web.xml中web-app version2.5但实测兼容JDK 8/11。若用JDK 17需在catalina.sh中添加--add-opens java.base/java.langALL-UNNAMEDTomcat端口默认8080若冲突在conf/server.xml中改Connector port8080数据库连接打开src/util/DBUtil.java修改private static final String URL jdbc:mysql://localhost:3306/volunteer_db?useSSLfalseserverTimezoneAsia/Shanghai;中的IP、端口、库名图片上传路径FileUploadUtil.java中String uploadPath D:/volunteer_images/;需改成你本地绝对路径并确保该目录存在且Tomcat进程有写权限。启动Tomcat后访问http://localhost:8080/volunteer-platform/首页正常显示即代表部署成功。此时你已站在真实业务入口——接下来每一行JSP、每一个Servlet都在处理真实的志愿者数据流转。3. 核心功能拆解聚焦“jsp个人信息展示页面”与“jsp图片如何对坐标定位”这两个高频痛点3.1 个人信息展示页profile.jspHTMLCSSJSP混合布局的实战范本WebContent/volunteer/profile.jsp是整个项目最常被检索的页面它解决的是“志愿者信息如何结构化呈现”问题。页面主体采用Bootstrap 3栅格系统但关键信息块如头像、联系方式、服务记录用纯CSS定位实现“坐标式布局”——这正是热搜词“jsp图片如何对坐标定位”的出处!-- 头像区域绝对定位实现精准坐标控制 -- div classprofile-header img src${volunteer.avatarPath} alt头像 styleposition: absolute; top: 20px; left: 30px; width: 120px; height: 120px; border-radius: 50%; onerrorthis.srcimages/default-avatar.png !-- 姓名与认证状态浮动在头像右侧 -- div styleposition: absolute; top: 40px; left: 170px; h2${volunteer.name}/h2 span classbadge badge-success${volunteer.certified ? 已认证 : 未认证}/span /div /div !-- 服务记录表格JSP表达式动态渲染 -- table classtable table-striped theadtrth服务日期/thth任务名称/thth时长(小时)/th/tr/thead tbody c:forEach items${volunteer.serviceRecords} varrecord tr tdfmt:formatDate value${record.date} patternyyyy-MM-dd//td td${record.taskName}/td td${record.duration}/td /tr /c:forEach /tbody /table逻辑说明styleposition: absolute;是实现“坐标定位”的核心top/left值直接对应像素坐标规避了浮动布局的不可控性c:forEach遍历serviceRecords集合fmt:formatDate格式化日期——这些JSTL标签让页面逻辑与展示分离比嵌入Java Scriptlet更易维护。参数说明${volunteer}来自Servlet中request.setAttribute(volunteer, volunteer)serviceRecords是Volunteer对象的List属性需确保DAO查询时已关联加载。3.2 图片上传与坐标绑定FileUploadUtil如何把头像存到指定路径并返回URL志愿者上传头像不是简单存文件而是要生成可访问的URL路径并写入数据库。src/util/FileUploadUtil.java的关键逻辑如下public static String uploadAvatar(HttpServletRequest request, String uploadPath) throws Exception { // 1. 使用Apache Commons FileUpload解析multipart/form-data DiskFileItemFactory factory new DiskFileItemFactory(); ServletFileUpload upload new ServletFileUpload(factory); ListFileItem items upload.parseRequest(request); String fileName ; for (FileItem item : items) { if (!item.isFormField()) { // 2. 生成唯一文件名防止覆盖时间戳随机数 fileName System.currentTimeMillis() _ new Random().nextInt(1000) _ item.getName().substring(item.getName().lastIndexOf(.)); // 3. 写入指定路径注意uploadPath必须是绝对路径 File uploadedFile new File(uploadPath File.separator fileName); item.write(uploadedFile); // 4. 返回相对Web路径供JSP中img src使用 return /volunteer-platform/images/avatars/ fileName; } } return null; }参数说明uploadPath传入的是服务器磁盘绝对路径如D:/volunteer_images/但方法返回的是Web应用内相对路径/volunteer-platform/images/avatars/xxx.jpg这样JSP中img src${volunteer.avatarPath}才能正确加载。血泪经验若返回绝对路径D:/...浏览器会因安全策略拒绝加载若路径拼写错误如少写/avatars/则头像显示为默认图——这正是新手最常翻车的点。3.3 任务发布与状态流转Servlet如何驱动业务状态机TaskPublishServlet不是简单插入一条记录而是实现了轻量级状态机protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String title request.getParameter(title); String description request.getParameter(description); int volunteerId Integer.parseInt(request.getParameter(volunteerId)); Task task new Task(); task.setTitle(title); task.setDescription(description); task.setVolunteerId(volunteerId); task.setStatus(pending); // 初始状态为待审核 // 插入任务后触发邮件通知此处简化为日志 System.out.println(新任务发布 title 等待管理员审核); // 重定向到任务列表页避免重复提交 response.sendRedirect(request.getContextPath() /volunteer/task-list.jsp); }逻辑说明task.setStatus(pending)是状态流转起点后续管理员在AdminApproveServlet中会调用task.setStatus(approved)前端JSP通过c:if test${task.status pending}控制按钮显示——这种基于字符串的状态判断虽简单但在小规模系统中足够清晰。避坑提示若忘记response.sendRedirect而用request.getRequestDispatcher().forward()刷新页面会重复提交表单。4. 避坑指南五个真实踩过的坑每个都曾让我重启三次Tomcat4.1 现象首页CSS样式全部失效文字堆叠成一团原因web.xml中welcome-file-list未配置index.jspTomcat默认找index.html或index.htm导致JSP未被解析直接当文本输出。解决在web.xml的welcome-file-list内明确添加welcome-fileindex.jsp/welcome-file并确认index.jsp位于WebContent/根目录。4.2 现象登录后跳转到空白页浏览器地址栏显示/volunteer-platform/servlet/LoginServlet原因LoginServlet中response.sendRedirect(/volunteer-platform/index.jsp)路径错误——/开头表示绝对路径应去掉开头斜杠改为response.sendRedirect(index.jsp)相对当前Servlet路径。解决所有重定向路径统一用相对路径或使用request.getContextPath()动态获取应用名response.sendRedirect(request.getContextPath() /index.jsp)。4.3 现象上传头像后数据库存入路径正确但页面显示404原因FileUploadUtil.java返回的路径/volunteer-platform/images/avatars/xxx.jpg但实际文件存放在D:/volunteer_images/xxx.jpg未在Tomcat中配置虚拟目录映射。解决在conf/server.xml的Host节点内添加Context path/volunteer-platform/images/avatars docBaseD:/volunteer_images reloadablefalse/这样/volunteer-platform/images/avatars/就映射到磁盘路径浏览器可直接访问。4.4 现象MySQL插入中文显示为??但数据库字符集已设为utf8mb4原因JDBC URL缺少characterEncodingutf8mb4参数且web.xml中未配置字符编码过滤器。解决修改DBUtil.java中URL为jdbc:mysql://localhost:3306/volunteer_db?useSSLfalseserverTimezoneAsia/ShanghaicharacterEncodingutf8mb4在web.xml中添加过滤器filter filter-nameCharacterEncodingFilter/filter-name filter-classorg.apache.catalina.filters.SetCharacterEncodingFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameCharacterEncodingFilter/filter-name url-pattern/*/url-pattern /filter-mapping4.5 现象管理员审核任务后志愿者页面不刷新显示新状态原因AdminApproveServlet执行更新后未清除缓存且task-list.jsp中c:forEach遍历的是旧request作用域数据。解决在AdminApproveServlet末尾强制重定向到任务列表页response.sendRedirect(request.getContextPath() /admin/task-list.jsp?refreshtrue);并在task-list.jsp顶部添加% request.setAttribute(tasks, new TaskDAO().findAll()); %重新查询最新数据——不要依赖上一次请求的缓存数据。5. 进阶技巧把JSP页面变成可配置的“组件化”模块支持快速适配不同志愿组织5.1 抽离公共配置用properties文件替代硬编码的组织信息项目默认以“XX社区志愿者服务中心”为抬头但实际部署时需替换成合作方名称。与其全局搜索替换不如建立config/organization.properties# config/organization.properties org.name阳光社区志愿者服务中心 org.phone0755-12345678 org.address深圳市南山区科技园路1号 org.logo/volunteer-platform/images/logo-sunshine.png在WebContent/WEB-INF/web.xml中注册初始化参数context-param param-nameorgConfigPath/param-name param-value/config/organization.properties/param-value /context-param然后在src/util/OrgConfigUtil.java中读取public class OrgConfigUtil { private static Properties props new Properties(); static { try (InputStream is OrgConfigUtil.class.getResourceAsStream( /config/organization.properties)) { props.load(is); } catch (Exception e) { throw new RuntimeException(加载组织配置失败, e); } } public static String get(String key) { return props.getProperty(key, 未知); } }最后在任意JSP中使用% OrgConfigUtil.get(org.name) %。这样只需替换一个properties文件整站抬头、联系方式、Logo路径全部自动更新——比改10个JSP文件快10倍。5.2 动态表单生成用JSON配置驱动志愿者注册字段原项目注册表单字段固定姓名、电话、身份证但不同组织可能需要增加“紧急联系人”“技能证书编号”等字段。我们用config/registration-fields.json定义[ {name:name,label:姓名,type:text,required:true}, {name:phone,label:手机号,type:tel,required:true}, {name:idCard,label:身份证号,type:text,required:true}, {name:skill,label:特长技能,type:select,options:[医疗救护,外语翻译,IT支持],required:false} ]在register.jsp中用JavaScript动态渲染script fetch(% request.getContextPath() %/config/registration-fields.json) .then(r r.json()) .then(fields { const form document.getElementById(regForm); fields.forEach(field { const div document.createElement(div); div.className form-group; div.innerHTML label${field.label}${field.required ? * : }/label ${field.type select ? select name${field.name} classform-control${field.options.map(o option${o}/option).join()}/select : input type${field.type} name${field.name} classform-control ${field.required ? required : } }; form.appendChild(div); }); }); /script这样新增字段只需改JSON无需动Java代码或JSP——真正实现“配置即代码”。我一般会把JSON文件放在WebContent/config/下确保可通过HTTP直接访问避免Servlet额外处理。5.3 安全加固给JSP页面加CSRF Token堵住表单伪造漏洞原项目无CSRF防护攻击者可构造恶意链接诱导管理员点击从而执行未授权操作。我们在web.xml中启用过滤器filter filter-nameCSRFTokenFilter/filter-name filter-classcom.volunteer.filter.CSRFTokenFilter/filter-class /filter filter-mapping filter-nameCSRFTokenFilter/filter-name url-pattern/servlet/*/url-pattern /filter-mappingCSRFTokenFilter.java生成并校验Tokenpublic class CSRFTokenFilter implements Filter { Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request (HttpServletRequest) req; HttpServletResponse response (HttpServletResponse) res; if (GET.equals(request.getMethod())) { // GET请求生成Token存入session String token UUID.randomUUID().toString(); request.getSession().setAttribute(CSRF_TOKEN, token); } else if (POST.equals(request.getMethod())) { // POST请求校验Token String token request.getParameter(csrf_token); String sessionToken (String) request.getSession().getAttribute(CSRF_TOKEN); if (!Objects.equals(token, sessionToken)) { response.sendError(HttpServletResponse.SC_FORBIDDEN, CSRF验证失败); return; } } chain.doFilter(req, res); } }然后在所有表单中添加隐藏域input typehidden namecsrf_token value% session.getAttribute(CSRF_TOKEN) %。从那以后我每次加新Servlet都强制走一遍CSRF校验流程——这玩意儿就像后悔药没出事时觉得多余一出事就是0day级漏洞。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

SN0105 PCI-E声卡KX驱动:绕过Windows音频栈的ASIO直通方案

SN0105 PCI-E声卡KX驱动:绕过Windows音频栈的ASIO直通方案

简介:本资源是专为纯声SN0105迷你PCI-E音频卡用户提供的KX Project第三方驱动完整安装包,面向音频工作者、音乐制作人及DIY硬件爱好者,解决原厂驱动功能局限、兼容性不足与音质优化空间小等痛点。压缩包共86个文件,含22个核心DLL动…

2026/10/16 23:03:39 阅读更多 →
mimir数据库鸿蒙化迁移指南:Flutter嵌入式NoSQL适配实战

mimir数据库鸿蒙化迁移指南:Flutter嵌入式NoSQL适配实战

我去年在给一个工业平板项目做数据层选型时,第一次认真接触了 mimir 这套 Flutter 生态里的嵌入式 NoSQL 数据库。当时的需求很明确:设备端要保存海量时序采样数据,还要支持按关键词做全文检索和审计日志的快速过滤,同时因为设备是…

2026/10/17 21:37:53 阅读更多 →
渗透测试实战指南:五阶段闭环思路与避坑要点

渗透测试实战指南:五阶段闭环思路与避坑要点

要聊清楚渗透测试,市面上不缺文章,但大部分要么是工具清单的堆砌,要么是单个漏洞点的切片式演示。我在安全测试这一行干了挺多年,甲方、乙方、授权范围内的红队评估都做过,今天想把一整套路数摊开讲:从拿到…

2026/10/12 8:29:29 阅读更多 →

最新新闻

医用具身机器人:标本识别校验与合规留痕的临床实践

医用具身机器人:标本识别校验与合规留痕的临床实践

1. 项目概述:当机器人不再只是“移动货架”,而是科室里的合规守门人医用具身机器人走进科室,这个标题里藏着三个被长期低估的真相:第一,“具身”不是噱头,它意味着机器人必须像人一样拥有感知、决策与执行的…

2026/10/17 21:37:42 阅读更多 →
Kafka如何成为AI数据管道主动脉?从原理到实践

Kafka如何成为AI数据管道主动脉?从原理到实践

最近技术社区里“Kafka已正式接入AI”这个说法频繁出现。初看像是一个产品公告,实际上更像一个趋势信号:Kafka早已不只是传统的消息中间件,在AI大模型落地这件事上,它正变成承担数据流入流出任务的主动脉。AI项目做久了会发现&…

2026/10/17 21:37:42 阅读更多 →
Ubuntu24 安装 ClaudeCode 后,把 settings 改到 TaoToken 的完整配置大纲

Ubuntu24 安装 ClaudeCode 后,把 settings 改到 TaoToken 的完整配置大纲

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

2026/10/17 21:37:42 阅读更多 →
DeepSeek R1 本地部署实战:Ollama 量化模型与客户端访问指南

DeepSeek R1 本地部署实战:Ollama 量化模型与客户端访问指南

简介:本资源面向希望在本地环境运行 DeepSeek R1 大模型的开发者与 AI 爱好者,提供从部署到 Web 访问的完整指引,帮助解决本地推理环境搭建与交互体验优化的问题。资源包共 1 个 PDF 文件,大小约 1.54MB,内容围绕 Olla…

2026/10/17 21:37:42 阅读更多 →
GhostESP无线安全研究法律红线:你必须知道的5条合规边界完整指南

GhostESP无线安全研究法律红线:你必须知道的5条合规边界完整指南

【免费下载链接】GhostESP The open-source wireless research platform for ESP32. 项目地址: https://gitcode.com/gh_mirrors/gho/GhostESP 点击查看 免费下载 GhostESP 是一个基于 ESP32 的开源无线安全研究平台,支持 Wi-Fi 与 BLE 深度扫描、实时抓…

2026/10/17 21:37:42 阅读更多 →
Kafka接入AI实战:从数据管道到异步推理的架构设计

Kafka接入AI实战:从数据管道到异步推理的架构设计

1. 为什么AI项目越做越绕不开Kafka前阵子帮一个做实时风控的团队排查消费堆积,整整一下午盯着Kafka的lag数据,从几万涨到几十万,消费者一直处于"拉消息-处理-再拉"的状态,但就是追不上。最后发现问题不在Kafka本身&…

2026/10/17 21:36:41 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →