调试 Java Servlet 可以从开发环境、日志、断点、网络请求等多个层面入手。下面按“常见方式 → 实用技巧 → 常见问题排查”给你一个比较完整的指南。
以 IntelliJ IDEA / Eclipse 为例:
doGet / doPost 方法中打 breakpointhttp://localhost:8080/your-app/your-servlet
request.getParameter()session✅ 优点:最直接、最有效
如果不能用 Debug:
System.out.println("username = " + request.getParameter("username"));
更推荐用日志框架:
private static final Logger log =
Logger.getLogger(MyServlet.class.getName());
log.info("doPost called");
常用日志:
java.util.logginglog4jslf4j + logback用于调试“请求是否到达 Servlet”:
init() 方法@Override
public void init() throws ServletException {
System.out.println("Servlet init");
}
用于检查:
doGet / doPostprotected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String id = req.getParameter("id");
}
重点检查:
web.xml 或 @WebServlet常见错误:
@WebServlet("/test")
访问:
/test ✅
/test/ ❌(可能 404)
web.xml:
<url-pattern>/api/*</url-pattern>
检查:
http://localhost:8080/项目名/servlet
看 Tomcat 日志:
catalina.out
localhost.log
常见原因:
Integer id = Integer.parseInt(req.getParameter("id"));
request.getParameter("name"); // null
检查:
name 属性Content-Type 正确getInputStreamTomcat 启动参数:
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
IDE 中:
✅ 优先用 IDE 断点
✅ 不确定就打日志
✅ 网络问题先看浏览器
✅ 服务器异常看 catalina.out
如果你愿意,可以告诉我:
我可以给你针对性的调试步骤。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。