记一次调试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自动构建被关闭
  • 部署配置错误
  • 缓存未清除
  • 软件特性

解决流程

  1. 强制重新编译
    • Project → Clean... → Clean all projects
    • 删除target目录(Maven/Gradle项目)
  2. Tomcat清理
    • 服务器视图 → 右键Tomcat → Clean...
    • 删除work/Catalina目录
  3. 部署验证
    • 检查.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps下的文件时间戳
    • 确认WEB-INF/classes包含最新.class文件

5. 项目结构与运行机制解析

Eclipse+Tomcat工作流

  1. 构建:src → 编译到 WEB-INF/classes

  2. 发布:同步到Tomcat的wtpwebapps

  3. 启动:Tomcat加载webapps中的项目

  4. 请求处理:


6. 总结

  • 项目修改前,先备份一份,可以回滚

  • 不能完全依赖AI,有时候搜索引擎里面给出的方法可能更好

  • 合理使用调试函数,输错调试信息

  • 最小化定位的方法,把bug逐个解决

  • 先分析项目的结构,运行机制,明确功能目标

2025年6月18日22:59:15 - 广东东莞

posted @ 2025-06-18 23:02  海浪博客  阅读(21)  评论(0)    收藏  举报