JSP旅游网站源码详解:从部署到避坑的Java Web课设指南
简介一份基于JSP实现的中小型旅游网站完整源码面向Java Web初学者、以及正在准备课程设计或毕业设计的人群。项目覆盖管理员与用户双角色前端展示与后台管理一体管理员端支持登录、管理员管理、网站公告、酒店与旅行社管理、宾馆信息、用户信息、预定信息、留言及宾馆预定管理等模块用户端支持注册登录、景点介绍、酒店与旅行社查看、留言板、宾馆预订及个人中心管理完整呈现旅游平台从信息展示到在线预订的业务闭环逻辑清晰易懂。压缩包共594个文件、约1.11MB以gif图片、html静态页、jsp动态页面和java后台代码为主另含少量cfm、asp、php等脚本文件便于对照不同语言实现目录按功能组织模块边界清晰方便按需检索。目前已有61人学习下载适合用来自学JSPServlet开发流程、理解前后台交互与预订逻辑也可快速改造为课程设计或毕业设计作品实用性与参考性兼备。1. JSP旅游网站源码.zip一份能跑通、能答辩的Java Web课设骨架如果你正在做Java Web课程设计或者刚接了一个“旅游网站”的毕业设计大概率会遇到这个压缩包。它不是什么生产级系统而是典型的JSP Servlet JavaBean JDBC组合页面用JSP渲染登录、列表、下单这类动作交给Servlet处理数据库用MySQL跑在Tomcat上。比Spring Boot项目落后一代但正因为没有框架封装HttpServletRequest、Session、JDBC这些基础概念全暴露在代码里反而是最好的教学样本。这个标题能解决三类人急着交课设的学生想找参考案例源码的初学者以及需要给老项目做改造的维护者。打开压缩包之前你得有个预期它不追求架构先进但一定要能跑、能改、能答辩。接下来我按拿到源码后的实际顺序从解压、配置、跑通、改写到避坑一条条讲清楚。2. 解压后先看四样东西目录结构、依赖、数据库脚本和端口2.1 从zip到WebContent先分清src和WebContent各管什么把“JSP实现的一个旅游网站源码.zip”解压后先别急着拖进IDE先看一眼目录长什么样。绝大多数课设项目的结构是固定的srcJava源码里面按dao、servlet、entity或bean分包WebContentJSP页面、css、js、images、WEB-INFWEB-INF里面有web.xml还有lib目录存放项目用到的jar包根目录或doc目录下一个以.sql结尾的数据库脚本偶尔附带README这套结构一出来项目质量基本能判断一半。如果src里有entity、dao、servlet三层说明作者认真分了层后续改起来顺手如果所有Servlet堆在同一个包下面页面里直接写JDBC那也不是不能跑只是改起来会痛。常见误用是拿到zip后把整个文件夹塞进Eclipse的workspace然后报“Dynamic Web Module 3.1 requires Java 1.7 or newer”或者“找不到javax.servlet.http.HttpServlet”。正确步骤是先在Eclipse或IDEA里新建Dynamic Web Project或Maven骨架再把src和WebContent的内容对应覆盖进去。直接import整个文件夹容易让编译路径混乱这一步省时间反而最耽误时间。2.2 数据库脚本先建库再导表注意默认口令数据库脚本是这四样里最关键的一样。打开.sql文件先确认三件事有没有CREATE DATABASE语句、表名和字段是不是英文、INSERT语句里有没有测试数据。如果脚本开头是CREATE DATABASE travel直接执行就行如果只有CREATE TABLE需要你手动建库再use进去。手工导库的常用命令是mysql -uroot -p travel.sql执行完后进入MySQL确认表和数据USE travel; SHOW TABLES; SELECT COUNT(*) FROM user; SELECT COUNT(*) FROM scenery;这段逻辑说明mysql的重定向会把sql文件一次性交给MySQL执行比在命令行逐条粘贴可靠。SHOW TABLES用来确认表创建成功两个COUNT(*)用来确认测试数据导进去了。如果user表是空的返回0行登录功能就永远不可能通过首页显示不出景点也多半是数据没导全。另一个容易忽略的点是测试账号。课设项目的登录账号密码都写在sql文件的INSERT语句里常见的组合是admin/123456或root/123456。拿到源码先搜一遍所有sql脚本把预设账号找出来免得后面试半天都登录不进。2.3 配置文件里的三处固定写法db.properties、server.xml和字符集数据库连接配置一般放在src根目录的db.properties或jdbc.properties里打开后一般是这样的drivercom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/travel?characterEncodingutf8 usernameroot password123456这里最需要注意的是characterEncodingutf8。它要出现在url上后面的中文请求和数据库存储才会按UTF-8走少这个东西登录注册输入中文姓名时十有八九变成问号。如果用的是MySQL 8驱动url里还要追加serverTimezoneAsia/Shanghai否则启动时就会报时区错误。端口层面改动都在Tomcat的conf/server.xml里课设项目几乎都占8080。很多人解压后不管直接冲突在8080上Tomcat启动日志里会写清楚端口被占用。这个我放到第5章避坑部分细讲你只需要知道端口是可以改的不是绑死的。3. 把旅游网站跑起来的最小路径JDK、Tomcat、MySQL三角配合3.1 JDK版本怎么选别用太高版本课设源码最常见的运行环境是JDK 8 Tomcat 8.5或9 MySQL 5.7或8。JDK 8是兼容之王老代码里大量使用的javax.servlet和JSTL在JDK 8下编译几乎零问题。如果你机器上装的是JDK 17Tomcat 10以下的版本会直接编译失败出现找不到javax.servlet的报错因为Tomcat 10开始包名整体迁到了jakarta.*。先检查当前环境java -version javac -version如果输出显示openjdk 17、21之类的版本建议直接装一个JDK 8。Windows上配置环境变量时注意三点set JAVA_HOMEC:\Program Files\Java\jdk1.8.0_202 set PATH%JAVA_HOME%\bin;%PATH%这段命令是临时设置要在同一个终端窗口里配完立刻验证。很多人配完JAVA_HOME旧终端还是原来的PATHjava -version结果不变就以为没配上其实只要新开一个命令行窗口就好。配JAVA_HOME不配PATH会导致Tomcat的startup.bat找不到java命令这个步骤必须连在一起做。如果你之前下载的是mysql80的zip解压版初始化命令要在bin目录下执行mysqld --initialize-insecure它会生成一个root空密码账号登录后自己记得改密码。3.2 导入数据库脚本命令行两步法数据库准备好后执行导入mysql -uroot -p source /path/to/travel.sql;用source而不是把内容整个复制粘贴能避免编码问题。Windows路径里的反斜杠在mysql里需要写成正斜杠否则会提示找不到文件。导入后顺手验证一次USE travel; SHOW TABLES;如果表都在但数据是空的回到.sql文件里看INSERT语句检查是否被注释掉了。有些源码发布者会把测试数据单独放在data.sql里主脚本只有表结构这种情况要把两个脚本都执行一遍。导入完成后确认user表有admin账号、scenery表有至少一条景点记录再往后走。3.3 部署到Tomcat并验证首页部署这一步有两种方式把解压后的整个项目文件夹复制到Tomcat的webapps目录下或者把war包丢进去让Tomcat自动解压。课设源码一般给的是文件夹不是war包所以直接复制文件夹更常见。到tomcat/bin目录启动cd /path/to/tomcat/bin ./startup.shWindows下是startup.bat。启动后不要只看弹出来的黑窗口真正的日志在logs/catalina.out或logs/catalina.log里。JSP编译报错、数据库连接失败、Filter初始化异常全在日志里。启动完成后访问页面curl -I http://localhost:8080/travel/index.jsp如果项目文件夹叫travel上下文路径就是/travel。curl返回200说明Tomcat已经把项目加载起来了。如果停留在Tomcat默认首页说明webapps下的项目目录名和你访问的路径对不上。这一步通过了再打开浏览器。4. 核心功能逐段拆解登录、列表、个人信息、图片坐标定位4.1 登录与SessionJSP页面里最容易写错的拦截逻辑旅游网站的登录入口一定是核心功能。后端做登录的Servlet逻辑几乎千篇一律接收用户名密码、查询user表、匹配成功把user对象放进session、跳转首页失败则带回错误信息。很多课设在“是否已登录”这个校验上写得特别随意在每个JSP页面顶部写% if(session.getAttribute(user) null) { response.sendRedirect(login.jsp); return; } %这段代码能工作但问题很明显所有要保护的内页都要加一遍漏一个页面就存在越权访问。更合理的做法是用Filter统一拦截public class LoginFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request (HttpServletRequest) req; HttpServletResponse response (HttpServletResponse) res; HttpSession session request.getSession(false); if (session null || session.getAttribute(user) null) { response.sendRedirect(request.getContextPath() /login.jsp); } else { chain.doFilter(req, res); } } }这段代码的逻辑是先拿session拿不到就直接跳登录页拿到了再看user对象在不在在就放行不在也一样跳登录。注意getSession(false)的参数含义是“没有就返回null”不传参或传true会强制创建新session这样未登录用户也会被分配一个空session拦截逻辑就失效了。Filter的注册要放在web.xml里并且要排除login.jsp、静态资源和注册页面否则登录页本身也会被拦截形成死循环。4.2 分页列表和EL表达式线路页与JSTL的搭配写法旅游网站首页或线路列表页常见做法是先按景点分类查数据库再分页展示。分页的核心在后端前端用EL表达式和JSTL遍历。后端Servlet接收两个参数int pageNo Integer.parseInt(request.getParameter(pageNo)); int pageSize Integer.parseInt(request.getParameter(pageSize)); ListRoute list routeDao.findByPage(pageNo, pageSize); int total routeDao.countAll(); request.setAttribute(routeList, list); request.setAttribute(total, total); request.getRequestDispatcher(route_list.jsp).forward(request, response);对应的DAO方法public ListRoute findByPage(int pageNo, int pageSize) { int offset (pageNo - 1) * pageSize; String sql SELECT * FROM route LIMIT ? OFFSET ?; // 使用PreparedStatement设置offset和pageSize }参数说明LIMIT ? OFFSET ?比直接拼SQL安全offset的计算是分页最容易出错的地方。pageNo从1开始第二页的offset正好等于pageSize这是最常见也最标准的分页公式。但是注意如果pageNo是用户传进来的一上来就Integer.parseInt可能会被插入异常字符串。安全写法是先try-catch再默认赋1或者直接用正则先校验。答辩时老师问SQL注入你把这个点答出来就直接加分。JSP页面遍历时用JSTLc:forEach items${routeList} varr div classroute-item h3${r.routeName}/h3 p价格${r.price} 元/p /div /c:forEach这里${r.routeName}是EL表达式它自动调用Route对象的getRouteName()方法。如果属性名写错页面显示空白而不是报错这是排查时要留意的地方。4.3 个人信息展示页面与图片坐标定位两种被搜烂的功能写法“jsp个人信息展示页面”在热搜里出现频率很高在旅游网站里对应的就是登录后的个人中心。信息展示本身不难难点在于把用户从Session中取出来再回显到表单里。常见做法是% User user (User) session.getAttribute(user); % input typetext nameusername value%user.getUsername()%注意这里用户对象是从session里读的而不是重新查数据库。这样会有一个边界问题session里的数据是登录时的快照如果用户刚改了头像或昵称当前session还是旧值需要更新session里的user对象。很多课设没处理这个就会出现“改了头像页面不显示新头像”的怪问题。“jsp图片如何对坐标定位”是另一个高频搜索在旅游网站里对应的是景点图上打点展示信息。常见做法分两种一种是后端存坐标前端用CSS定位另一种是用图片热区map加area标签。后者维护不灵活写死了点击范围图片一换坐标全偏。我一般建议用百分比坐标加JS实现div styleposition:relative;width:100%;max-width:800px; img srcscenery_map.jpg stylewidth:100%; span classmarker styleposition:absolute;left:32%;top:45%;cursor:pointer; onclickshowTip(1)景点A/span /div这个写法的关键是left和top都用百分比不写死像素。图片等比例缩放时百分比坐标能跟着图片一起缩放不会偏移。后端存坐标时存xRatio和yRatio两个小数前端渲染时转成百分比字符串。这是我在实际项目中踩过坑之后总结的做法写死像素坐标在小屏和大屏上必然错位百分比是底线方案。5. 常见问题和避坑从404、中文乱码到端口占用5.1 访问页面404先分清是Tomcat没起来还是项目路径不对现象Tomcat能启动但访问http://localhost:8080/travel/index.jsp返回404浏览器显示的是Tomcat的默认错误页。原因先访问http://localhost:8080如果这个地址出的是Tomcat猫页说明Tomcat本身没问题问题在项目部署。如果这个地址也404说明Tomcat根本没起来去logs目录看启动日志。项目层面的404九成是webapps目录下的项目文件夹名和访问路径不一致。比如文件夹叫“旅游网站源码_new”访问却用/travel/自然找不到。解决把项目文件夹改成一个没有中文和空格的短名称比如travel或tour再重启Tomcat。另一个常见原因是项目文件夹虽然存在但里面没有完整的WEB-INF目录结构Tomcat不把它识别成Web应用这种情况访问会直接404。对照一下WEB-INF下有没有web.xml和classes目录。5.2 登录页面和数据库里的中文全部乱码现象注册时输入中文用户名页面上显示正常存进数据库后变成“???”查询出来也是“???”。原因请求参数编码、页面编码、数据库连接URL编码、数据库表编码四处不统一。最常见的是连接串里没加characterEncodingutf8其次是表默认字符集是latin1。mysql命令行导入时如果SQL文件里没写SET NAMES utf8数据入库也可能走错字符集。解决先统一四处编码。配置文件url加上characterEncodingutf8JSP页面头部确认pageEncodingUTF-8MySQL表结构改成utf8mb4命令如下ALTER TABLE user CONVERT TO CHARACTER SET utf8mb4;改完以后重新导一次数据。还要注意读取请求参数之前先设置编码request.setCharacterEncoding(UTF-8);这行代码必须放在所有request.getParameter()调用之前放在后面调用就失效了这也是一个经典“写了但没用”的代码错位问题。5.3 数据库连接报Authentication plugin或Public Key Retrieval报错现象项目启动不报错但一点登录功能就报SQLException日志里出现“Unable to load authentication plugin caching_sha2_password”或“Public Key Retrieval is not allowed”。原因你的MySQL是8.0以上默认认证插件是caching_sha2_password而源码里带的JDBC驱动包是5.x版本两者协议不兼容。解决推荐两个方案一起做。第一把WEB-INF/lib下的mysql-connector-java-x.x.x.jar替换成mysql-connector-java-8.0.x版本。第二连接URL增加两个参数urljdbc:mysql://localhost:3306/travel?useSSLfalseallowPublicKeyRetrievaltrueserverTimezoneAsia/Shanghai其中allowPublicKeyRetrievaltrue是针对“Public Key Retrieval is not allowed”的必选项useSSLfalse则避免本地开发环境没有证书时报的SSL警告。如果不想换驱动还可以执行SQL把用户认证方式改回nativeALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 123456;在机房和Windows本地机器上这个坑在MySQL 8的机器上几乎必现。遇到这个报错先看驱动版本再看认证插件按顺序排查五分钟能解决。5.4 8080端口被占用Tomcat启动即闪退现象双击startup.bat黑色窗口一闪而过后台日志显示“Port 8080 required by Tomcat v9.0 Server at localhost is already in use”。原因上一个Tomcat进程没退出或者系统中其他程序占用了8080比如微软的Http.sys服务、ZooKeeper、Nacos等开发中间件。解决先找到谁占用了端口。Windows命令netstat -ano | findstr 8080拿到的最后一列是PID再用taskkill /F /PID 8080把占用者杀掉。如果是别的中间件不想杀就改Tomcat的server.xml把Connector的port从8080改成8081之后访问地址也要同步改成8081。改完一定记得重启Tomcat改端口不会热生效。注意netstat的PID是动态的如果项目想长期开发建议直接在server.xml里换成8081。5.5 登录后跳回登录页Filter把不该拦截的路径也拦了现象登录成功进入首页点任意一个子页面又跳回登录页。或者登录页本身都打不开直接报重定向过多。原因Filter拦截路径写得太粗把登录页、注册页、css、js和图片都拦截了。尤其是静态资源被拦截时页面样式全丢看起来就像出了大问题。解决在web.xml里给Filter配置时把登录相关路径排除。用注解写法就明确写urlPatterns和excludePath。排查时先看浏览器控制台如果css和js请求返回的是302跳转基本就是Filter没放行静态资源。把排除范围扩大后重启Tomcat再试。6. 进阶思路把课设项目打磨成能答辩的作品6.1 验证清单照着慢慢过一遍面试答辩都不慌拿到一个JSP旅游网站源码最怕的是“能打开首页就算成功”。我习惯把核心流程整理成一份短清单注册一个账号登录修改个人信息查看景点列表进入详情页下单退出登录。每一步都写下预期结果和实际结果。之后是异常用例密码错误登录、不存在用户登录、未登录状态下直接访问订单页面、重复提交订单。这两组用例走完项目是否可用就清楚了。6.2 两个答辩必问题SQL注入和密码加密答辩老师大概率会问“你的登录查询有没有考虑SQL注入”。现在源码里十有八九是字符串拼接改成PreparedStatement是二十行以内的事必须改。密码不要明文存数据库加盐MD5是最低要求。String salt travel2024; String hashed DigestUtils.md5Hex(salt password);这段代码参数说明salt是盐值固定字符串就够了能防止相同密码产生相同散列值的雷同问题。如果时间富余再补一个图形验证码这些是答辩里的安全分。6.3 这方向值不值得继续投入JSP这套组合在真实企业里确实退居二线但课程设计考察的是Servlet生命周期、Session机制、JDBC操作和HTTP请求处理这些底层知识换成Spring Boot也不会消失。你在这个项目里踩的坑未来换框架会再遇到一遍。我处理过不少这样的课设源码最深的感受是接手别人的项目第一件事是备份整个lib目录和原版SQL脚本不要一边改一边删改坏了没有后悔药。后来我自己维护老项目也遇到过“精简依赖后一启动就缺类”的翻车从那以后所有项目先备份再动手。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

隐性裁员套路:先别急着签自愿离职,这几笔账要算清

隐性裁员套路:先别急着签自愿离职,这几笔账要算清

节后返工没几天,不少人就发现了不对劲的地方:手头的项目被一句"先交给别人跟"抽走,工位悄悄挪到了角落,周报开始被逐字挑刺。有招聘平台 2026 年二季度的报告被多家媒体转述时提到,68% 的职场人遭遇过不同形…

2026/10/8 23:54:44 阅读更多 →
小模型价格战开打:选型别再只盯每百万 Token 报价

小模型价格战开打:选型别再只盯每百万 Token 报价

这几天小模型这块挺热闹。Anthropic 放出了 Claude Haiku 5.5,官方跑分逐项压过 OpenAI 的 GPT-6 Luna,定价也对标着 Luna 走;差不多同一时间,微软把编程模型 MAI-Code-1.1-Flash 的价格降到了初代的四分之一;更早一点…

2026/10/8 23:54:44 阅读更多 →
腾讯字节阿里同时押注“个人智能体“,AI助手正在走出聊天框

腾讯字节阿里同时押注“个人智能体“,AI助手正在走出聊天框

如果说前两年 AI 助手还停在"你问我答"的聊天框里,那最近几家大厂的动作说明,这个形态正在被换掉。腾讯、字节、阿里几乎在同一时间把方向对准了同一个词——个人智能体(Personal Agent),微软则从企业侧用 A…

2026/10/8 23:54:44 阅读更多 →

最新新闻

HARA与风险评估方法

HARA与风险评估方法

EPS electronic power steering, 电子助力转向系统 发现了问题,下面就要制定措施 内容来源 : https://www.bilibili.com/video/BV1GdeQ6xEHi?spm_id_from333.788.videopod.sections&vd_source473185c2a7a9b79ef8fcea7dce5ca501

2026/10/9 5:34:40 阅读更多 →
AI应用安全防线:从提示注入到Agent攻防的纵深防御指南

AI应用安全防线:从提示注入到Agent攻防的纵深防御指南

上个月帮一个做企业内部知识库问答的团队做AI应用开发安全评审,聊到一半,团队负责人问了我一个问题:"我们的Agent已经接了20多个外部工具,如果检索到的某份文档里藏着恶意指令,Agent会不会照着执行?&q…

2026/10/9 5:34:40 阅读更多 →
WALL-OSS 模型详解

WALL-OSS 模型详解

WALL 模型详解 WALL (本项目) 基本信息 项目 内容 全称 WALL Series Foundation Model 机构 开源项目 架构 Transformer + Flow Matching 动作类型 连续动作 训练方式 模仿学习 (Flow Matching) 模型架构图 输入图像(三视角) ├── faceImg (正面相机) ├…

2026/10/9 5:34:40 阅读更多 →
第二章:1、Embedding与向量数据库

第二章:1、Embedding与向量数据库

一、Embedding 原理详解1. 什么是 Embedding?定义:将一段文本转换为 float[] 数组(如1536个浮点数),这个数组即为文本的“语义指纹”。类比:如同每个人有独一无二的指纹,每段文本也有独特的向量…

2026/10/9 5:34:40 阅读更多 →
品牌档位约束的Prompt条件生成:低端/中端/高端话术模板与错配检测

品牌档位约束的Prompt条件生成:低端/中端/高端话术模板与错配检测

一、问题定义 LLM生成slogan默认输出“中庸档”表达——功能与情绪各占一半的通用句式。但品牌实践存在明确的档位规律: 低端品牌:直接给好处(多、快、好、省); 中端品牌:不卖产品,卖向往&#…

2026/10/9 5:34:40 阅读更多 →
基于微信小程序的智能拍卖系统设计与实现复盘

基于微信小程序的智能拍卖系统设计与实现复盘

去年做毕业设计选题时,我在几个平台搜了一圈"智能拍卖小程序",下载过好几个标着"完整源码文档"的压缩包。解压之后发现问题都差不多:要么是几年前的老项目,登录接口还是旧版wx.getUserInfo,要么核…

2026/10/9 5:33:39 阅读更多 →

日新闻

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 阅读更多 →