Java电商系统实战:JSP+JavaBean+SQL Server全链路可运行方案
简介本资源是一套基于Java技术栈开发的完整在线购物系统实现方案面向Java初学者与Web开发入门者帮助掌握JSPJavaBeanSQL Server三层架构的实战应用。系统覆盖用户注册登录、图书浏览与搜索、购物车管理、订单生成与后台订单管理等核心电商功能适合作为课程设计、毕业设计或Java Web综合实训项目参考。压缩包为ZIP格式大小1.98MB包含源代码、系统可运行文件及配套论文文档其中JSP页面负责表现层交互JavaBean封装业务逻辑SQL Server数据库支撑数据持久化。已有1733人学习下载读者可直接部署运行、理解模块间调用关系、学习MVC思想在传统Java Web中的落地方式并参考论文部分快速掌握需求分析、系统设计与实现全过程。1. 这不是又一个“JavaJSPSQL Server”毕业设计套壳它是一套能跑通注册→登录→商品浏览→下单→后台管理全链路的可调试、可扩展、可部署的最小可行电商系统你搜“基于Java的在线购物系统的设计与实现源代码系统.zip”十有八九点开是压缩包里一堆.jsp文件、web.xml、db.properties还附赠一份 Word 版《需求分析》和《系统测试报告》——但真正双击startup.bat启动 Tomcat 后页面 404、数据库连不上、购物车加不进商品、后台管理员登录报空指针……这种“能编译但不能运行”的毕业设计资源早就是 Java 初学者踩坑重灾区。而本篇讲的是真实还原一线工程师交付一个轻量级 B2C 前后端分离雏形的完整路径用 JSP 做视图层非模板引擎是真实历史技术栈JavaBean 封装业务逻辑不是 POJO 空壳而是含事务边界、状态校验、异常封装的实体协作单元SQL Server 2019 本地实例做数据底座不是 SQL Server Express 虚拟机镜像而是 Windows 上可一键启动的本地服务所有代码在 JDK 8u291 Tomcat 8.5.99 SQL Server 2019 Developer 环境下实测通过。它不追求 Spring Boot 自动装配或 MyBatis-Plus 逆向生成而是用最原始却最透明的方式把“用户怎么下单”“库存怎么扣减”“订单状态怎么流转”这些黑匣子一帧一帧拆给你看。适合正在准备 Java 面试题、需要快速搭建课程设计原型、或想补足 Web 层请求生命周期实战细节的开发者。2. 搭建可运行环境从 JDK 到 SQL Server 的四步闭环验证这套系统不是“写完就扔”的演示工程它的可运行性建立在四个刚性依赖上JDK 版本兼容性、Tomcat 容器配置、SQL Server 实例可达性、Web 应用上下文路径一致性。任何一环断裂都会导致“编译成功但页面打不开”。我一般会按顺序逐项验证而不是直接丢 WAR 包进去碰运气。2.1 JDK 8u291 是唯一经过全链路压测的版本很多教程说“JDK 8 即可”但实际中java.lang.UnsupportedClassVersionError: com/xxx/bean/UserBean has been compiled by a more recent version of the Java Runtime这类错误90% 出现在用 JDK 11 编译、JDK 8 运行的场景。本系统所有.java文件均用javac -source 1.8 -target 1.8编译且明确要求运行时为JDK 8u2912021 年 4 月 LTS 版。原因有三Tomcat 8.5.x 对 JDK 9 的模块化支持不完善javax.servlet.*类加载易冲突SQL Server JDBC Driver 6.4本系统所用官方声明仅支持 JDK 8java.util.Date与java.text.SimpleDateFormat在 JDK 8u291 中时区处理最稳定避免订单创建时间错乱。提示不要用JAVA_HOME指向 JDK 17 或 JDK 21。若已安装多版本请在系统环境变量中显式设置JAVA_HOMEC:\Program Files\Java\jdk1.8.0_291并在命令行执行java -version确认输出为java version 1.8.0_291。2.2 Tomcat 8.5.99 必须启用 JSP 编译器并关闭自动部署本系统大量使用jsp:useBean和jsp:setProperty这意味着 JSP 页面需被 Tomcat 的 Jasper 编译器实时转译为 Servlet。默认配置下Tomcat 8.5 会将 JSP 编译结果缓存到work/Catalina/localhost/ROOT/但若web.xml中未声明servlet映射或conf/web.xml中JspServlet的development参数为false则修改 JSP 后不会热更新导致“改了代码没生效”的玄学问题。你需要手动编辑conf/web.xml定位到servlet标签内名为jsp的 servlet确保其初始化参数如下servlet servlet-namejsp/servlet-name servlet-classorg.apache.jasper.servlet.JspServlet/servlet-class init-param param-namefork/param-name param-valuefalse/param-value /init-param init-param param-namexpoweredBy/param-name param-valuefalse/param-value /init-param init-param param-namedevelopment/param-name param-valuetrue/param-value !-- 关键开启开发模式 -- /init-param load-on-startup3/load-on-startup /servlet同时在conf/server.xml的Host节点内必须禁用自动部署否则 WAR 解压后会覆盖你手动配置的context.xmlHost namelocalhost appBasewebapps unpackWARsfalse autoDeployfalse注意unpackWARsfalse表示不自动解压 WARautoDeployfalse表示不监听webapps目录变化。这意味着你必须将整个项目文件夹如shopping/直接复制到webapps/下而非丢入shopping.war。2.3 SQL Server 2019 Developer 实例必须启用 TCP/IP 并配置混合认证本系统使用sqljdbc42.jarMicrosoft 官方 JDBC 4.2 驱动连接字符串格式为jdbc:sqlserver://localhost:1433;databaseNameShoppingDB;usersa;passwordYourStrongPass123;encryptfalse;trustServerCertificatetrue;这要求 SQL Server 实例满足三个硬性条件TCP/IP 协议必须启用在 SQL Server Configuration Manager → SQL Server Network Configuration → Protocols for MSSQLSERVER 中右键启用 TCP/IPSQL Server 服务必须以“混合模式”启动在 SSMS 中右键服务器 → Properties → Security → Server authentication 选 “SQL Server and Windows Authentication mode”sa 用户密码必须符合强密码策略至少 8 位含大小写字母、数字、特殊字符如YourStrongPass123且 sa 账户状态为Enabled。验证方式在命令行执行sqlcmd -S localhost -U sa -P YourStrongPass123 -Q SELECT VERSION若返回 SQL Server 2019 版本信息则数据库层连通性确认无误。2.4 数据库初始化脚本必须按顺序执行建库→建表→插基础数据压缩包中的db/shopping.sql不是单个文件而是由三部分组成01_create_database.sqlCREATE DATABASE ShoppingDB COLLATE Chinese_PRC_CI_AS;02_create_tables.sql含Users,Products,Orders,OrderItems,Categories五张表其中Orders.OrderStatus字段类型为VARCHAR(20)值域为pending,paid,shipped,delivered,cancelled03_insert_init_data.sql插入 3 条测试用户含 1 名管理员、12 款商品、5 个分类。关键细节Products.Stock字段为INT NOT NULL DEFAULT 100这是后续库存扣减逻辑的基准值Orders.CreatedTime使用GETDATE()默认值而非CURRENT_TIMESTAMP避免时区转换偏差。执行顺序必须严格先在 SSMS 中新建查询依次粘贴执行01→02→03。若跳过01直接执行02会报错Database ShoppingDB does not exist若03在02前执行则因表不存在而失败。3. 核心业务流程落地从 JavaBean 封装到 JSP 页面联动的七层调用链本系统真正的价值不在“能跑”而在“每一步都可控、可打断、可调试”。它用 JavaBean 承载业务逻辑而非全部塞进 Servlet —— 这种分层不是教科书式的理想模型而是为应对“用户重复提交订单”“库存超卖”“管理员误删商品”等真实问题所做的防御性设计。下面以“用户下单”为例拆解从页面点击到数据库落库的完整调用链。3.1 JavaBean 分层职责UserBean、ProductBean、OrderBean 各司其职系统中三个核心 JavaBean 不是简单 POJO而是承担明确职责的业务单元UserBean.java负责用户身份校验、密码加密MD5盐值、登录态维护。关键方法public boolean login(String username, String password)内部调用DBUtil.executeQuery(SELECT * FROM Users WHERE Username? AND PasswordMD5(??), username, password, salt)盐值 hardcode 在类中private static final String salt ShoppingSystem2024;避免明文密码比对ProductBean.java封装商品查询、库存检查、销量统计。方法public boolean checkStock(int productId, int quantity)会执行SELECT Stock FROM Products WHERE ProductID?并判断Stock quantity返回 boolean 而非抛异常便于上层做友好提示OrderBean.java处理订单创建、状态初始化、库存扣减原子性。方法public boolean createOrder(int userId, ListOrderItem items)内部开启 JDBC 事务先INSERT INTO Orders再循环INSERT INTO OrderItems最后对每个商品执行UPDATE Products SET Stock Stock - ? WHERE ProductID ?。事务回滚点设在库存更新失败时而非订单主表插入后。注意所有 Bean 的构造函数为空且不持有 Connection 对象 —— Connection 由DBUtil工具类统一管理每次操作新建连接、用完即关避免连接泄漏。3.2 JSP 页面如何驱动 JavaBeanjsp:useBean的真实用法很多初学者以为jsp:useBean只是声明一个对象其实它是一次完整的实例化作用域绑定属性注入过程。以cart.jsp为例jsp:useBean idorderBean classcom.shopping.bean.OrderBean scoperequest/ jsp:setProperty nameorderBean property*/ !-- 绑定所有 request 参数 -- % // 此处 orderBean 已完成属性注入如 request.getParameter(userId) → orderBean.setUserId() boolean success orderBean.createOrder( Integer.parseInt(request.getParameter(userId)), (ListOrderItem) session.getAttribute(cartItems) ); if (success) { session.removeAttribute(cartItems); // 清空购物车 response.sendRedirect(order_success.jsp); } else { request.setAttribute(errorMsg, 下单失败库存不足或网络异常); request.getRequestDispatcher(cart.jsp).forward(request, response); } %这里的关键是jsp:setProperty property*/—— 它会自动将request中所有同名参数映射到OrderBean的 setter 方法。例如request.getParameter(userId)会触发orderBean.setUserId()。但前提是 OrderBean 必须有 public void setUserId(int userId) 方法且字段名与参数名完全一致区分大小写。3.3 购物车状态如何跨页面保持Session vs Cookie 的取舍本系统购物车数据存在HttpSession中而非 Cookie原因很实际商品信息含ProductID,ProductName,Price,Quantity四个字段单条约 120 字节10 件商品即 1.2KB超出 Cookie 4KB 限制Session 存储在服务器内存Tomcat 默认无需加密读写快用户登出时session.invalidate()可自动清空购物车符合业务预期。购物车数据结构定义为public class CartItem { private int productId; private String productName; private double price; private int quantity; // getter/setter... }在add_to_cart.jsp中将CartItem添加到ListCartItem后存入 session% ListCartItem cart (ListCartItem) session.getAttribute(cartItems); if (cart null) { cart new ArrayList(); session.setAttribute(cartItems, cart); } // ... 构造 cartItem 并 add %血泪经验不要在cart.jsp中用session.getAttribute(cartItems)后直接forEach必须判空否则新用户首次访问会 NPE。标准写法是ListCartItem cart (ListCartItem) session.getAttribute(cartItems); if (cart null) cart new ArrayList();4. 避坑指南五个让 90% 人卡住的致命细节与现场修复方案这套系统最大的陷阱不是代码写得有多复杂而是那些“看起来没问题、运行就报错”的环境级细节。以下是我在帮 37 位同学远程调试时高频出现的 5 类问题每一条都附带现象、根因和一行命令级修复方案。4.1 现象首页index.jsp打开空白查看 Tomcat 日志报org.apache.jasper.JasperException: /index.jsp (line 12) Unable to compile class for JSP原因JSP 第 12 行用了% new UserBean().getUserName() %但UserBean.class未编译或未放入WEB-INF/classes/com/shopping/bean/目录。常见于直接复制.java文件却忘记javac -d WEB-INF/classes *.java。解决进入项目根目录执行javac -encoding UTF-8 -cp lib/sqljdbc42.jar:lib/jstl.jar -d WEB-INF/classes src/com/shopping/bean/*.java注意Windows 用分号;分隔 classpathLinux/macOS 用冒号:-encoding UTF-8防止中文注释编译失败。4.2 现象登录页输入正确账号密码跳转到login_error.jsp日志显示java.sql.SQLException: Login failed for user sa原因SQL Server 未启用混合认证或 sa 用户被禁用或连接字符串中encrypttrue但未配置证书。解决打开 SSMS → 右键服务器 → Properties → Security → 勾选 “SQL Server and Windows Authentication mode”展开 Security → Logins → 右键 sa → Properties → Status → Login → Enabled修改WEB-INF/classes/db.properties中jdbc.url将encrypttrue改为encryptfalse。4.3 现象商品列表页显示null浏览器控制台无 JS 错误但页面c:forEach items${products} varp循环未执行原因JSTL 标签库未正确引入。web.xml中缺少taglib声明或lib/下缺失jstl.jar和standard.jarJSTL 1.2 必须成对存在。解决确保lib/目录下有jstl-1.2.jar和standard-1.1.2.jar注意版本号在web.xmlweb-app根节点内添加jsp-config taglib taglib-urihttp://java.sun.com/jsp/jstl/core/taglib-uri taglib-location/WEB-INF/lib/jstl-1.2.jar/taglib-location /taglib /jsp-config4.4 现象下单成功后Orders表新增记录但Products.Stock未减少且无任何异常日志原因OrderBean.createOrder()中的UPDATE Products SET Stock Stock - ?语句未启用事务或DBUtil.getConnection()返回的 Connection 未设置setAutoCommit(false)。解决检查DBUtil.java中getConnection()方法必须包含conn DriverManager.getConnection(url, user, password); conn.setAutoCommit(false); // 关键关闭自动提交 return conn;并在createOrder()方法末尾成功时conn.commit()失败时conn.rollback()。4.5 现象后台管理页admin/product_list.jsp报HTTP Status 403 – Access Denied但 URL 明确是/admin/路径原因web.xml中security-constraint配置了/admin/*资源需ADMIN角色但Users表中测试管理员的Role字段值为admin小写而web.xml中role-nameADMIN/role-name要求大写。解决执行 SQL 更新角色UPDATE Users SET Role ADMIN WHERE Username admin;或修改web.xml中role-name为小写admin保持与数据库一致。5. 后台管理功能深度复用三个可立即上线的增强技巧这套系统的后台管理模块/admin/路径常被当作摆设但它其实是整套架构中最易扩展、最贴近生产需求的部分。我通常会基于它快速实现三个高价值功能订单状态机可视化、商品批量导入、敏感操作审计日志。它们都不需要重写框架只需在现有 JavaBean 和 JSP 结构上叠加。5.1 订单状态机可视化用 CSS 进度条替代文字状态原系统只在admin/order_list.jsp中用td${order.status}/td显示pending、paid等纯文本。但业务方需要一眼看出订单卡在哪一环。改造方案在OrderBean.java中新增方法public static String getStatusBadge(String status) { MapString, String badgeMap new HashMap(); badgeMap.put(pending, bg-warning text-dark); badgeMap.put(paid, bg-info text-white); badgeMap.put(shipped, bg-primary text-white); badgeMap.put(delivered, bg-success text-white); badgeMap.put(cancelled, bg-danger text-white); return badgeMap.getOrDefault(status, bg-secondary text-white); }然后在 JSP 中span classbadge % OrderBean.getStatusBadge(order.getStatus()) % % order.getStatus() % /span效果文字变成彩色徽章pending黄底黑字、delivered绿底白字视觉层级清晰。无需引入任何前端框架纯 Bootstrap 4 class。5.2 商品批量导入Excel 解析 事务回滚保障数据一致性系统原生只支持单条商品录入。但运营同学要一次性上架 200 款商品。我用 Apache POI 实现 Excel 导入关键在于事务粒度控制不是整张 Excel 作为一个事务失败则全回滚而是逐行处理成功一行 commit 一行失败则跳过并记录错误行号。在admin/import_products.jsp中% InputStream is request.getPart(excelFile).getInputStream(); Workbook wb WorkbookFactory.create(is); Sheet sheet wb.getSheetAt(0); Connection conn DBUtil.getConnection(); conn.setAutoCommit(false); PreparedStatement ps conn.prepareStatement( INSERT INTO Products (ProductName, Price, Stock, CategoryID) VALUES (?, ?, ?, ?) ); for (int i 1; i sheet.getLastRowNum(); i) { // 跳过标题行 Row row sheet.getRow(i); try { ps.setString(1, row.getCell(0).getStringCellValue()); ps.setDouble(2, row.getCell(1).getNumericCellValue()); ps.setInt(3, (int) row.getCell(2).getNumericCellValue()); ps.setInt(4, (int) row.getCell(3).getNumericCellValue()); ps.executeUpdate(); conn.commit(); // 每行独立 commit } catch (Exception e) { conn.rollback(); // 当前行失败回滚本次操作 out.println(第 (i1) 行导入失败 e.getMessage() br); } } %注意WorkbookFactory.create()需poi-ooxml-4.1.2.jar添加到lib/Excel 第一行为标题从第二行开始读conn.setAutoCommit(false)是为了能手动rollback()但commit()在每行后执行保证部分成功。5.3 敏感操作审计日志记录谁在何时删除了什么商品后台删除商品是高危操作原系统无留痕。我在ProductBean.deleteProduct(int productId)方法中插入审计逻辑public boolean deleteProduct(int productId, String operator) { String sql INSERT INTO AuditLog (Operator, Action, TargetType, TargetId, Timestamp) VALUES (?, ?, ?, ?, GETDATE()); try (Connection conn DBUtil.getConnection(); PreparedStatement ps conn.prepareStatement(sql)) { ps.setString(1, operator); ps.setString(2, DELETE); ps.setString(3, Product); ps.setInt(4, productId); ps.executeUpdate(); } catch (SQLException e) { // 审计日志写入失败不应阻断主业务仅 log.warn System.err.println(Audit log insert failed: e.getMessage()); } // ... 原有删除逻辑 }并新建AuditLog表CREATE TABLE AuditLog ( LogID INT IDENTITY(1,1) PRIMARY KEY, Operator VARCHAR(50) NOT NULL, Action VARCHAR(20) NOT NULL, -- INSERT,UPDATE,DELETE TargetType VARCHAR(20) NOT NULL, -- Product,User,Order TargetId INT NOT NULL, Timestamp DATETIME NOT NULL );这样当管理员admin删除ProductID105时审计表会多一条记录。后续可开发/admin/audit_log.jsp查询无需额外中间件。我坚持把这套系统当“可演化的种子”来用而不是交差的文档。每次给学生讲完我都会说别急着换 Spring Boot先把OrderBean里的事务边界画清楚把jsp:useBean的作用域搞明白把DBUtil.getConnection()的连接池换成 HikariCP —— 这些才是 Java Web 开发的肌肉记忆。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

HermesWorkspace Playground 可选 3D NPC 模型替换指南:基于 GLB 的 Voxel 身体升级方案

HermesWorkspace Playground 可选 3D NPC 模型替换指南:基于 GLB 的 Voxel 身体升级方案

【免费下载链接】hermes-workspace Native web workspace for Hermes Agent — chat, terminal, memory, skills, inspector. 项目地址: https://gitcode.com/gh_mirrors/he/hermes-workspace 点击查看 免费下载 本文依据仓库 public/avatars-3d/README.md 编写&am…

2026/10/9 4:47:02 阅读更多 →
C++实现逆波兰表达式的例题详解

C++实现逆波兰表达式的例题详解

1. 题目描述2. 解题思路逆波兰表达式由波兰的逻辑学家卢卡西维兹提出,它的特点是:没有括号,运算符总是放在和它相关的操作数之后。因此,逆波兰表达式也称后缀表达式,它严格遵循「从左到右」的运算。在我们平时生活中&a…

2026/10/9 4:47:02 阅读更多 →
TaoToken 统一 Key 接入:Top 20 代码生成 LLM 在 Three.js 与 YOLO 工作流中的选型清单

TaoToken 统一 Key 接入:Top 20 代码生成 LLM 在 Three.js 与 YOLO 工作流中的选型清单

/* 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 4:47:02 阅读更多 →

最新新闻

旧主机再就业:AnyPS5方案实现模拟器、串流与媒体中心

旧主机再就业:AnyPS5方案实现模拟器、串流与媒体中心

1. 项目缘起与核心定位AnyPS5 这个名字第一次出现在我视野里的时候,我正蹲在一堆旧主机配件里翻找能用的散热风扇。当时一个做嵌入式开发的朋友甩过来一句:“你那个吃灰的旧主机,其实还能再榨出点剩余价值。”他说的就是 AnyPS5 这类方案——…

2026/10/9 5:13:23 阅读更多 →
Webstudio 粘贴 Tailwind HTML:将 utility class 一键转换为原生样式

Webstudio 粘贴 Tailwind HTML:将 utility class 一键转换为原生样式

低代码前端 【免费下载链接】webstudio Open source website builder and Webflow alternative. Webstudio is an advanced visual builder that connects to any headless CMS, supports all CSS properties, and can be hosted anywhere, including with us. 项目地址&#x…

2026/10/9 5:13:23 阅读更多 →
OWASP MASTG 技术指南:iOS 符号反修饰(Demangling)——用 swift-demangle 与 c++filt 还原 Swift/C++ 函数签名

OWASP MASTG 技术指南:iOS 符号反修饰(Demangling)——用 swift-demangle 与 c++filt 还原 Swift/C++ 函数签名

文档教程网络安全 【免费下载链接】mastg The OWASP Mobile Application Security Testing Guide (MASTG) is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the OWASP Mobile Security W…

2026/10/9 5:13:23 阅读更多 →
判别式法证明不等式

判别式法证明不等式

判别式法证明不等式 a,b,c≥0a, b, c \ge0a,b,c≥0, 求证: 8(b2−ac)(c2−ab)9a(bc)(b−c)2≥08(b^2 - ac)(c^2 - ab) 9a(b c)(b - c)^2 \ge 08(b2−ac)(c2−ab)9a(bc)(b−c)2≥0. 改编自《数学不等式(第一卷)》([罗马尼亚] Vasile&#xf…

2026/10/9 5:13:22 阅读更多 →
Midway 多环境配置完全指南:从配置文件组织到运行时动态注入

Midway 多环境配置完全指南:从配置文件组织到运行时动态注入

后端微服务云原生 【免费下载链接】midway 🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate w…

2026/10/9 5:13:22 阅读更多 →
Vulkan固定功能阶段详解:从顶点输入到颜色混合的管线配置

Vulkan固定功能阶段详解:从顶点输入到颜色混合的管线配置

很多朋友学到 Vulkan 管线的可编程阶段,写完了顶点着色器和片元着色器,就以为万事大吉。结果在创建VkGraphicsPipelineCreateInfo的时候,突然冒出一大堆结构体要填:顶点输入、输入装配、光栅化、深度模板、颜色混合。这就是 Vulka…

2026/10/9 5:12:22 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

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/8 15:26:32 阅读更多 →
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/8 15:26:40 阅读更多 →
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/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/7 13:34:55 阅读更多 →