记一次调试Java Servlet 项目
1. PUT方法后端接收不到参数
问题根源:
- Tomcat默认不解析PUT请求体(与POST不同)
- 未正确使用
@RequestBody或内容类型不匹配 - 过滤器/拦截器未正确处理PUT请求
解决方案:
-
一开始一直以为是前端没有传递参数到后端
-
临时使用Post方法,解决了问题
-
AI没有给出有效的方法
-
百度上面的方法看起来挺简单的,没有测试有没有用
2. Cursor添加文件后Eclipse不刷新
问题根源:
- Eclipse默认不监听外部文件变化(安全机制)
- 工作区刷新策略未开启
解决方案:
手动刷新:
- 右键项目 → Refresh
- 快捷键:
F5(Windows/Linux) /Cmd+R(Mac)
3. Cursor降智问题处理
解决方案:
- 精细化提问的文案
4. Tomcat启动后未编译最新代码
问题根源:
- Eclipse自动构建被关闭
- 部署配置错误
- 缓存未清除
- 软件特性
解决流程:
- 强制重新编译:
Project → Clean... → Clean all projects- 删除
target目录(Maven/Gradle项目)
- Tomcat清理:
- 服务器视图 → 右键Tomcat →
Clean... - 删除
work/Catalina目录
- 服务器视图 → 右键Tomcat →
- 部署验证:
- 检查
.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps下的文件时间戳 - 确认
WEB-INF/classes包含最新.class文件
- 检查
5. 项目结构与运行机制解析
Eclipse+Tomcat工作流:
-
构建:
src→ 编译到WEB-INF/classes -
发布:同步到Tomcat的
wtpwebapps -
启动:Tomcat加载
webapps中的项目 -
请求处理:
6. 总结
-
项目修改前,先备份一份,可以回滚
-
不能完全依赖AI,有时候搜索引擎里面给出的方法可能更好
-
合理使用调试函数,输错调试信息
-
最小化定位的方法,把bug逐个解决
-
先分析项目的结构,运行机制,明确功能目标
2025年6月18日22:59:15 - 广东东莞

浙公网安备 33010602011771号