温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样调试java servlet

发布时间:2026-10-10 09:08:53 来源:亿速云 阅读:92 作者:小樊 栏目:编程语言

调试 Java Servlet 可以从开发环境、日志、断点、网络请求等多个层面入手。下面按“常见方式 → 实用技巧 → 常见问题排查”给你一个比较完整的指南。


一、最常用的调试方式

1. 使用 IDE 断点调试(推荐)

以 IntelliJ IDEA / Eclipse 为例:

IntelliJ IDEA

  1. 以 Debug 模式启动 Tomcat / Jetty
  2. 在 Servlet 的 doGet / doPost 方法中打 breakpoint
  3. 浏览器访问:
    http://localhost:8080/your-app/your-servlet
    
  4. 程序会停在断点处,可查看:
    • request.getParameter()
    • session
    • 变量值、调用栈

Eclipse

  • 右键项目 → Debug As → Run on Server
  • 同样打断点即可

✅ 优点:最直接、最有效


2. 打印日志(最通用)

如果不能用 Debug:

System.out.println("username = " + request.getParameter("username"));

更推荐用日志框架:

private static final Logger log =
    Logger.getLogger(MyServlet.class.getName());

log.info("doPost called");

常用日志:

  • java.util.logging
  • log4j
  • slf4j + logback

3. 浏览器 + 开发者工具

用于调试“请求是否到达 Servlet”:

  • F12 → Network
  • 查看:
    • 请求 URL 是否正确
    • 参数是否发送
    • 响应状态码(200 / 404 / 500)

二、Servlet 调试重点位置

1. init() 方法

@Override
public void init() throws ServletException {
    System.out.println("Servlet init");
}

用于检查:

  • Servlet 是否加载
  • 配置参数是否正确

2. doGet / doPost

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    String id = req.getParameter("id");
}

重点检查:

  • 参数名是否拼写错误
  • 请求方式是否匹配(GET/POST)

3. web.xml 或 @WebServlet

常见错误:

@WebServlet("/test")

访问:

/test   ✅
/test/  ❌(可能 404)

web.xml:

<url-pattern>/api/*</url-pattern>

三、常见错误与调试方法

404(找不到 Servlet)

检查:

  • URL 是否匹配
  • Servlet 是否被扫描到
  • 应用上下文路径
    http://localhost:8080/项目名/servlet
    

500(服务器异常)

看 Tomcat 日志:

catalina.out
localhost.log

常见原因:

  • 空指针
  • 参数转换错误
Integer id = Integer.parseInt(req.getParameter("id"));

参数取不到

request.getParameter("name"); // null

检查:

  • 表单 name 属性
  • AJAX 是否 Content-Type 正确
  • POST 是否用 getInputStream

四、远程调试(服务器上)

Tomcat 启动参数:

-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

IDE 中:

  • Remote Debug
  • 端口 5005

五、调试建议总结

✅ 优先用 IDE 断点
✅ 不确定就打日志
✅ 网络问题先看浏览器
✅ 服务器异常看 catalina.out


如果你愿意,可以告诉我:

  • 用的什么服务器(Tomcat / Jetty)
  • IDE(IDEA / Eclipse)
  • 具体报错或现象

我可以给你针对性的调试步骤。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手