简介这套jsp百货中心供应链管理系统毕业设计资源适合需要完成JavaWeb课程设计、毕业设计或想了解传统供应链管理信息化的学习者。系统面向企业供应链中的登录、合作公司、采购、数据统计等典型环节实现了管理员登录、合作公司信息增改查、采购管理以及数据统计分析等功能代码结构清晰便于扩展和二次开发。资源共10个文件核心包括1个SQL数据库脚本、1份Word版毕业论文设计说明书、1个Retail_Supply_Chain_System源码包另含6张系统主页面、登录、采购、合作公司、数据统计等运行截图压缩包整体仅1.56MB并附有必读txt说明。已有1006人学习或下载适合作为课程设计参考、答辩素材或供应链管理系统开发入门实例。数据库脚本和论文配套齐全可帮助读者快速还原系统环境、理解需求分析到系统实现的完整流程并在此基础上进行功能扩展。1. jsp百货中心供应链管理系统这类源码包到底值不值得跑如果你拿到的压缩包名叫 jsp百货中心供应链管理系统设计软件源码数据库WORD毕业论文文档.zip里面大概率是一套典型的 JavaWeb 毕设源码JSP 页面做展示Servlet 做请求转发JDBC 直接操作 MySQL 数据库外加一篇可以改格式直接用的毕业论文。这套东西解决的是百货中心从进货到卖货的完整流程包含登录、商品管理、供应商管理、采购入库、销售出库、库存查询这些最常规的业务。它适合三种人正在为 jsp 的毕设选题头痛的学生想用一晚上跑通一个传统 JSP 项目的 jsp 入门者以及工作中突然要接手老系统的 Java 工程师。别急着嫌 JSP 过时一个完整闭环项目的价值比任何炫技框架都实在。2. 先拆骨架这套 JSP 供应链系统的模块和表结构2.1 从包名看技术栈JSP Servlet JDBC 的三层结构打开 zip 包之后你通常看到的是 src 目录、WebRoot 或 web 目录、SQL 脚本文件、论文文档四类东西。src 目录里一般是 Java 类常见包结构是 action 或 servlet、dao、model 或 entity、utilweb 目录下是 JSP 页面、WEB-INF/web.xml、lib 目录里的 jar 包。这种结构对应最常见的 JSP Model 2 分层JSP 只负责渲染Servlet 接收请求、调用业务方法、把结果放进 request 再转发到下一个 JSP数据库操作集中在 DAO 类里。供应链系统的请求路径可以从 web.xml 或 Servlet 注解里读出来。登录请求到 LoginServlet商品列表到 GoodsServlet采购入库到 PurchaseAddServlet销售出库到 SaleAddServlet库存查询到 StockServlet。每一个 Servlet 对应一组数据库增删改查这就是传统 JSP 项目最好读的部分。选择这套技术路线的原因很现实第一路线短不需要 Node、Nginx、反向代理那一套Tomcat 一个容器就能跑第二调错直观页面报错直接显示在浏览器上适合教学和答辩第三论文好写架构图、流程图、数据库 ER 图都是现成的套路。有人会问“nginx 支持 jsp 吗”其实 JSP 的宿主是 Tomcat 这类 Web 容器Nginx 只是前面的反向代理毕设阶段完全不用考虑这一层。2.2 数据库表设计六张核心表串起一条供应链闭环这套源码的数据库一般会包含下面这些表。如果包里的版本更完整还会多出采购明细表、销售明细表和角色权限表但核心链路就是这六张表名职责user后台用户存登录名、密码、真实姓名supplier供应商信息存公司名、联系人、电话goods商品信息存商品名、价格、库存、预警值purchase采购入库单记录什么时候从哪家供应商进了什么货sale销售出库单记录卖给谁、卖了多少stock库存流水记录每一次入库出库的变动有些简单版本不单独建 stock 表而是把剩余库存直接挂在 goods 表的 stock_quantity 字段上每次采购加数量、销售减数量。这种方式做课程设计够了但没法追溯历史库存论文里的库存流水功能就只能靠嘴说。我一般会建议至少留一张库存变动记录表哪怕只有一个 goods_id、type、quantity、create_time 四个字段功能演示时都能多讲十分钟。下面是常见的商品表建表 SQL基本能代表这套源码的风格CREATE TABLE goods ( id INT PRIMARY KEY AUTO_INCREMENT, goods_name VARCHAR(100) NOT NULL, supplier_id INT NOT NULL, price DECIMAL(10,2) DEFAULT 0, stock_quantity INT DEFAULT 0, warn_quantity INT DEFAULT 10, create_time DATETIME, CONSTRAINT fk_goods_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;这里面最关键的是 warn_quantity 字段它就是库存预警的阈值。当 goods.stock_quantity 小于 warn_quantity 的时候系统就认为这个商品库存不足需要在列表页标红或者弹提醒。把这个阈值放进表里而不是写死在代码里是为了让管理员能按商品单独设置警戒线比如口香糖可以设 20冰箱设 3。采购入库再看一眼对应的采购表CREATE TABLE purchase ( id INT PRIMARY KEY AUTO_INCREMENT, goods_id INT NOT NULL, supplier_id INT NOT NULL, quantity INT NOT NULL, unit_price DECIMAL(10,2) NOT NULL, purchase_time DATETIME, operator VARCHAR(50), CONSTRAINT fk_purchase_goods FOREIGN KEY (goods_id) REFERENCES goods(id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;注意这里出现了 supplier_id它可以跟着 goods 走也可以在录入采购单时再选一次。常见做法是采购页面上同时显示商品名称和供应商下拉框提交时两个 id 都写进 purchase 表这样统计报表时能按供应商维度聚合采购金额。2.3 为什么这种传统 JSP 方案还没被毕业设计抛弃JSP 不是新技术甚至在很多公司里已经被 Spring Boot 取代了但它的教学价值仍然在。数据库增删改查直接写在 DAO 里逻辑透明到一眼能看穿JSP 页面里那些夹杂的 Java 代码虽然丑但能让你直观看到 request 里的参数是怎么被取出来、又怎么被塞回去的部署只需要一个 Tomcat中间件少出错面就小。你后面面试被问到的 Servlet 生命周期、Session 管理、JDBC 连接池在这套代码里全都能找到实际用法。另外很多老企业系统到现在还是传统 JSP 项目打包 war 后扔到 Tomcat 里跑。你会跑这套源码将来帮公司维护老系统就不会心虚。现在 Spring Boot 2 集成 JSP 的人的目录也经常按这套逻辑来排只是换了个壳。所以先把 JSP 这套链路摸透再去看 Spring Boot 集成 JSP 的目录结构是顺理成章的事。3. 本地跑通这套 JSP 供应链系统从建库到传统 jsp 项目打包 war3.1 环境组合先对齐JDK8 Tomcat8/9 MySQL5.7 最省事跑这类源码包第一件事不是打开 IDEA而是先确认环境版本。大部分毕设源码是用 JDK 1.8 编译的Tomcat 用的 8.5 或者 9.0MySQL 用的 5.7 或 8.0。这套组合最稳定因为老代码里写的连接驱动是 com.mysql.jdbc.DriverMySQL 8 以后虽然还是兼容的但更推荐用 com.mysql.cj.jdbc.Driver并且连接串里要加 serverTimezone。先检查自己的 JDK 和 Tomcatjava -version javac -version tomcat/bin/version.sh如果 javac 版本是 1.8Tomcat 是 8.5 或 9.0基本没问题。如果你装了 Tomcat 10就要特别注意因为 Tomcat 10 把 Servlet 包名从 javax.servlet 换成了 jakarta.servlet老项目直接跑会报 ClassNotFoundException你千万别在这里花一晚上才找到原因。我一般会在本机单独固定一套 Tomcat 8.5专门跑老项目。3.2 第一步把数据库脚本灌进 MySQLzip 包里一般会有一个 .sql 文件文件名通常叫 supplychain.sql 或 db_supplychain.sql。先打开这个文件看前几行确认有没有 CREATE DATABASE 和 USE 语句。如果没有就得手动建库CREATE DATABASE supplychain DEFAULT CHARACTER SET utf8mb4; USE supplychain;然后在命令行里导入整个脚本。以 Windows 和 Linux 通用的方式为例mysql -u root -p db_supplychain.sql如果你的 mysql 命令不在系统 PATH 里先把 MySQL 安装目录的 bin 路径加进去或者直接使用 Navicat 这样的图形工具运行 SQL 文件。图形工具批量执行大脚本时容易卡在某条注释上但毕设脚本一般不大问题不大。导入完了一定要验证表是否存在mysql -u root -p -e USE supplychain; SHOW TABLES;正常情况下能看到 user、supplier、goods、purchase、sale 等表。如果某个表少了多半是脚本里建表语句顺序不对导致外键失败这种情况在避坑章节单独讲。3.3 导入源码到 IDEA改数据库连接配置把项目源码解压用 IDEA 打开。如果源码是 Maven 结构的选 pom.xml 导入如果只是普通目录直接 Open 那个文件夹然后右键 src 目录标记为 Sources Rootweb 目录标记为 Web Resources Root。之后在 FileProject StructureFacets 里添加 Web设置好 web.xml 路径让 IDEA 把这个项目当成标准 JSP 项目识别。接下来找数据库连接配置文件常见位置有这么几个按优先级找src/jdbc.propertiessrc/db.propertiesWEB-INF/classes/db.propertiesServlet 或 DAO 代码里硬编码的 getConnection()最常见的是 jdbc.properties内容长这样jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/supplychain?useUnicodetruecharacterEncodingUTF-8 jdbc.usernameroot jdbc.password123456这里有两个参数必须改一个是 jdbc.username 和 jdbc.password 改成你自己的 MySQL 账号另一个是 jdbc.url 里的数据库名、编码参数。characterEncodingUTF-8 建议保留它决定中文能不能正常读写。如果你的 MySQL 是 8.0驱动类要换成 com.mysql.cj.jdbc.DriverURL 里追加 serverTimezoneAsia/Shanghai否则会报时区错误。如果代码里不是读 properties 文件而是直接在 DAO 里写死比如Class.forName(com.mysql.jdbc.Driver); conn DriverManager.getConnection(jdbc:mysql://localhost:3306/supplychain, root, 123456);那就得全局搜一下这个连接串把密码和 URL 改成自己的。这种硬编码在老毕设里非常常见你把它改成从配置文件读取本身就是一个值得写进论文的优化点。3.4 传统 jsp 项目打包 war 并部署到 Tomcat项目能在 IDEA 里跑起来还不算完很多毕设答辩现场要演示部署到 Tomcat 的全过程。你可以直接在 IDEA 里配置 Artifact然后通过 Tomcat 的 Deployment 运行也可以走传统 jsp 项目打包 war 的路线产物更干净。在项目根目录执行以下命令生成 warjar cvf supplychain.war .注意这个命令要在项目部署结构的根目录下执行也就是包含 WEB-INF 目录的那一层。WEB-INF 下面必须要有 web.xml 和 classeslib 目录里要包含 mysql 驱动 jar否则部署完启动就报类找不到。打包完成后把 war 文件复制到 Tomcat 的 webapps 目录然后启动 Tomcattomcat/bin/startup.sh启动后 Tomcat 会自动解压 war 成为同名目录浏览器访问http://localhost:8080/supplychain/如果 8080 端口被占用去 conf/server.xml 里把 port 改成 8082 再重启。第一次跑通这个地址的时候你基本已经把 JSP 项目的部署链路看完了。有些源码包里没有 Maven 目录直接按这种传统结构打包最稳。4. 读透业务链路的增删改查从登录到库存预警4.1 先看 web.xml 和过滤器找到登录态控制跑通项目之后不要急着点页面先打开 WEB-INF/web.xml它能让你在五分钟内搞清楚这个系统的请求走法。典型配置是一堆 Servlet 映射加上一个指向登录页的过滤器。比如下面的登录过滤配置filter filter-nameloginFilter/filter-name filter-classcom.supplychain.filter.LoginFilter/filter-class /filter filter-mapping filter-nameloginFilter/filter-name url-pattern/*/url-pattern /filter-mappingurl-pattern 写成 /*意味着除了登录页和登录 Servlet其它所有请求都要先经过这个过滤器。过滤器里的逻辑通常就是判断 Session 里有没有用户对象HttpSession session request.getSession(false); if (session null || session.getAttribute(loginUser) null) { response.sendRedirect(request.getContextPath() /login.jsp); return; } chain.doFilter(request, response);这段代码的核心是 getSession(false)。注意参数是 false意思是如果没有 Session 就返回 null而不是自动创建一个新 Session。如果你写成 getSession()那每个请求都会新建一个空 Session登录拦截就永远拦不住人这是新手特别容易踩的一个细节。contextPath 的写法也很关键它让重定向地址能跟部署路径兼容war 包叫 supplychain路径就自动是 /supplychain/login.jsp。4.2 商品管理一条标准的 JSP Servlet DAO 链路商品管理是这套系统最容易看懂的模块它完整走了一遍数据库增删改查。页面列表点开浏览器请求 goods_list.jsp 或者 GoodsListServletServlet 里 new 一个 DAO调用 getAllGoods() 拿到 List 放进 request.setAttribute再 forward 回 JSP 页面循环打印表格。对应 DAO 里的方法一般长这样public ListGoods getAllGoods() throws SQLException { ListGoods list new ArrayListGoods(); String sql SELECT g.id, g.goods_name, g.price, g.stock_quantity, s.supplier_name FROM goods g LEFT JOIN supplier s ON g.supplier_id s.id; PreparedStatement ps conn.prepareStatement(sql); ResultSet rs ps.executeQuery(); while (rs.next()) { Goods g new Goods(); g.setId(rs.getInt(id)); g.setGoodsName(rs.getString(goods_name)); g.setPrice(rs.getBigDecimal(price)); g.setStockQuantity(rs.getInt(stock_quantity)); g.setSupplierName(rs.getString(supplier_name)); list.add(g); } return list; }为什么用 PreparedStatement 而不是 Statement核心原因是防 SQL 注入。商品名称里如果含有单引号用 Statement 拼接 SQL 就会语法错误或者被恶意改写PreparedStatement 会把参数预编译成占位符安全性好很多。VARCHAR 类型的取值用 getStringDECIMAL 用 getBigDecimal整数用 getInt这些 API 对应关系看清楚后面改页面逻辑就不慌了。4.3 采购入库与销售出库一正一反两条业务流采购和销售是供应链系统的两条业务主链写代码时的套路是一正一反。采购入库时页面上填商品、供应商、数量、单价提交到 PurchaseAddServletServlet 里做两件事先往 purchase 表插入一条采购记录再更新 goods 表把库存数量加上去。销售出库则反过来先检查当前库存够不够不够就提示够则插入 sale 表再把库存减下去。这两步操作必须放在同一个事务里因为一旦插入采购单成功但更新库存失败或者销售记录写入成功但扣库存失败账面数据就对不上了。JDBC 版的经典写法是手动提交事务Connection conn null; try { conn DriverManager.getConnection(url, username, password); conn.setAutoCommit(false); // 第一步插入采购单记录 // 第二步更新 goods 表库存数量 conn.commit(); } catch (SQLException e) { if (conn ! null) { conn.rollback(); } throw e; } finally { if (conn ! null) { conn.close(); } }关键的坑在 setAutoCommit(false)。JDBC 默认是每执行一条 DML 就自动提交如果不主动关掉第一步成功第二步失败时数据库里会永远留一条孤立的采购单。老版本毕设代码里很多都没写事务你拿到手之后如果能把它补上是一个非常加分的改造点。使用数据库连接池之后这段逻辑要改成从连接池拿连接但事务边界完全一样。4.4 库存预警最短的代码看到效果库存预警是整个系统里最直观的功能一条 SQL 就能看到效果SELECT goods_name, stock_quantity, warn_quantity FROM goods WHERE stock_quantity warn_quantity;执行完凡是低于警戒线的商品都会出现在结果集里。在 JSP 页面里通常用循环判断每行数据是否触发预警如果触发就给这一行加一个红色样式或者在旁边显示“库存不足”标签。你可以主动把一个商品的库存改成 3再看列表页对应位置是否变色这样最快验证这条业务链路是不是通的。这个功能虽然简单但涉及一个细节warn_quantity 必须允许管理员在商品管理页面单独修改。很多毕设代码把预警值写死成 10商品一多就完全失去参考意义。拿到源码后先查一下商品编辑页面有没有这个字段如果没有加上这一个字段和对应更新 SQL库存预警这部分论文就能写得很实。5. 跑通 JSP 供应链源代码最容易翻车的 5 个坑5.1 中文乱码控制台和页面全是问号现象登录后用户姓名、商品名称在页面显示为问号或者写入数据库后变成乱码。 原因经典的三层编码问题。第一jdbc.url 没加 characterEncodingUTF-8第二JSP 页面顶部的 pageEncoding 写成了 ISO-8859-1第三MySQL 表本身字符集是 latin1。 解决按顺序排查。先改 URL再加 JSP 头再改表字符集。最省事的方法是在 web.xml 里配置一个 CharacterEncodingFilter强制所有请求和响应都用 UTF-8。这个过滤器在 Spring 里已经内置但在纯 JSP 项目里往往要自己写大概十行代码。改完重启 Tomcat重新导入一遍数据库中文基本能恢复。5.2 Tomcat 10 跑老项目报 ClassNotFoundException现象启动 Tomcat 时控制台报 java.lang.ClassNotFoundException: javax.servlet.Filter或者 login.jsp 大量 500 错误。 原因你用了 Tomcat 10它把 javax.servlet 整个换成了 jakarta.servlet老源码是用旧包名写的。 解决最直接的方法是换成 Tomcat 8.5 或 9.0。如果因为某些原因必须用 Tomcat 10也可以全局搜索替换源代码里的 javax.servlet 为 jakarta.servlet但要注意 JSP 文件和 web.xml 里也可能出现同样包名。对毕设项目来说换 Tomcat 的成本最低不值得跟包名过不去。5.3 mysql 驱动 jar 没放进 WEB-INF/lib现象项目在 IDEA 里运行正常点击登录一调用数据库就报 ClassNotFoundException: com.mysql.jdbc.Driver。 原因IDEA 运行时用的是项目库里的 jar 包但你打包 war 时没有把 mysql-connector-java jar 放到 WEB-INF/lib 目录Tomcat 实际运行时找不到驱动类。 解决先检查项目部署目录下是否存在 WEB-INF/lib/mysql-connector-java-x.x.x.jar。没有就把 jar 复制进去或回到 IDEA 的 Artifact 设置里把 jar 加入 WEB-INF/lib然后重新构建。这个坑在传统 JSP 项目打包 war 时特别常见打包前一定要确认 lib 目录有驱动。5.4 JSP 页面内嵌 Java 代码在 IDEA 里疯狂报红现象JSP 文件里大量使用 % % 和 % % 写 Java 代码IDEA 提示很多红色错误看起来像源码坏了。 原因IDEA 默认把 JSP 里的 Java 代码按某些严格规则检查而老毕设代码写得比较随意很多变量类型推断不了。 解决检查项目是否被识别成 Web 项目并确认 Facets 里指定了正确的 JDK。如果配置没问题这些报红很多是误报不影响 Tomcat 实际编译运行。我通常会直接在 JSP 文件里打开出错行看是不是真的是某段逻辑写错了而不是急着改代码。记住一点JSP 报红不等于编译失败以 Tomcat 启动后的页面实际效果为准。5.5 导入 SQL 脚本时外键建不上现象导入脚本后有些表记录数正常但打不开或插入数据时报外键约束错误还有的表格直接没生出来。 原因脚本里建表顺序不对goods 表引用了 supplier 表但 supplier 表还没创建外键就失败或者某个表用了 MyISAM 引擎MyISAM 不支持外键约束建外键语句被忽略。 解决用 Navicat 打开 SQL 文件按顺序执行先建 supplier、user 这类基础表再建 goods最后建 purchase、sale 和明细表。所有表统一改成 ENGINEInnoDB。字段类型也要对齐比如 supplier.id 是 INTgoods.supplier_id 也必须是 INT不能一个 INT 一个 BIGINT。这个坑看起来小一旦表建错后面的增删改查全都会跟着报错。6. 把 JSP 毕设改造成有工程感的练手项目如果你想让这套供应链系统在答辩时更像真实系统而不是“又一个 CRUD 毕设”我建议先做三个轻量改造。第一个是把硬编码的 JDBC 连接换成 Druid 连接池。在 WEB-INF/lib 加入 druid jar写一个 DruidDataSource 配置类设置 initialSize5、maxActive20、minIdle5并在 web.xml 里配置 DruidStatViewServlet。这样登录后访问 /druid/index.html 就能看到连接池的活跃连接数、SQL 执行次数这一屏幕监控数据比你说十句话都管用。第二个改造是把事务从 DAO 层挪到 Service 层。现在很多源码把数据库操作全部写在 DAOServlet 直接调三个 DAO 方法中间没有任何事务控制。可以抽一个 PurchaseService 类在方法上加一个手动事务模板把 JDBC 的 setAutoCommit(false)、commit、rollback 封装进去。这样采购入库、销售出库的数据一致性就有了明确边界代码结构也更接近真实项目的分层。第三个改造是最容易被低估的把 id 从自增改为手动生成或使用时间戳加随机数再给 purchase、sale 表加上 create_time 索引。这样你可以在论文里写“支持订单号幂等校验”和“查询性能优化”比单纯贴 CRUD 代码更实际。我这些年看过太多拿到 zip 之后先卡在环境上、最后只能靠论文猜代码的同学。我的习惯是打开源码后先读 web.xml 和 SQL 脚本把系统真正跑通一次再谈改造。因为只有跑通之后你才分得清哪里是能用的代码哪里只是为了凑字数留下的垃圾。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
JSP百货中心供应链管理系统毕设:从数据库设计到部署避坑全攻略 简介:jsp百货中心供应链管理系统是面向高校毕业设计及Java Web初学者的完整项目资源。系统围绕供应链管理中的核心业务,提供登录、合作公司信息增改查、采购管理增改查以及数据统计分析等功能模块,适合用于课程设计、毕业设计或企业信息化参考… · 2026/9/26 13:22:00
AI短剧工业化生产:四层协同架构实战指南 1. 项目概述:这不是“点几下就出剧”的幻觉,而是可复现、可验证、可交付的AI短剧生产闭环“2026免费AI短剧制作全流程保姆级教程,含全部资料包”——这个标题里藏着三个被严重低估的关键信号:时间锚点(2026)… · 2026/9/26 13:21:54
AI项目工程化实战:从脚本到可交付系统的目录结构与三层架构 1. 从脚本到系统:AI 项目工程化到底在解决什么问题写了四十几课的 Python,从变量、循环、函数一路摸到爬虫、数据分析、可视化,到第 50 课突然要聊“AI 项目工程化”,很多人第一反应是:我连模型都还没训明白࿰… · 2026/9/26 13:21:54
零门槛快速接入主流大模型:基于 AI Ping 平台一键集成 GLM-5.1 与多场景应用深度实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 14:02:37
Qt安装加速实战:镜像源、组件选型与交叉编译环境配置 1. Qt安装拖慢的根源:在线安装器的下载机制与取舍做了这么多年Qt开发,我见过太多人在安装这一步卡壳。明明电脑配置不差,双击qt-online-installer之后却要等上一两个小时,有些时候进度条半天不动,最后弹个“下载失败”… · 2026/9/26 14:02:37
JRebel 2026.1 离线激活原理与三步实操指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 14:02:37
企业微信开放CLI:AI Agent接入办公自动化的新路径 最近圈子里讨论最多的话题,就是企业微信对外开放了一整套CLI工具,而且一次覆盖11大类办公能力。我在实际项目里已经用这玩意儿接了Agent流程,原来要写几百行接口调用逻辑才能完成的“发消息、查日程、走审批”联动,现在变成一串命… · 2026/9/26 14:02:37
Kimi论文从96%AI率降到10%:一套系统的降AI味改造指南 凌晨两点,论文初稿终于凑出来了,全篇由Kimi生成,复制到检测系统里一看,AI生成指数96%。这个数字我太熟悉了,几乎每个拿Kimi应急写论文的人都遇到过。别慌,这个95%以上的高AI率不代表论文废了,它… · 2026/9/26 14:02:37
从0到1搭建AI Agent平台:让LLM变身能干的数字同事 “从 0 到 1 搭建你的 AI Agent 平台:当 Agent 有了工厂,人人都能造同事”——这句话真正值得琢磨的,不是“Agent”这个流行词,而是“工厂”。搭一个能聊天的Agent,现在的模型能力已经足够,真正难的是把一个… · 2026/9/26 14:02:31
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46