gpt4 book ai didi

java - 我如何逐步查看 jetty 的源代码以查看它如何处理典型的 servlet 请求?

转载 作者:行者123 更新时间:2023-11-30 07:27:46 27 4
gpt4 key购买 nike

我想在响应典型的 servlet 请求时单步执行 jetty 源代码。

我该怎么做?

我需要下载源代码吗?

我应该设置断点的入口点在哪里?

最佳答案

是的,你可以做到。

是的,您需要下载源代码(除非您喜欢在调试器:) 中读取字节码),如果您使用的是 Maven,那么您可以 let maven do the downloading for you

可以使用“标准”Jetty 设置来完成,但我发现为这些任务构建一个快速的嵌入式 Jetty 服务器要容易得多。即使您不熟悉嵌入 Jetty,它也不难学,并且会帮助您了解 Jetty 如何处理 servlet。参见 the embedding jetty documentation

断点的位置将取决于您使用的 Jetty 的确切版本,以及您想要进入 Jetty 内部的程度。

您可以在 HttpConnection 的构造函数中设置一个断点,这样您就可以查看 Jetty 如何从原始 TCP/IP 套接字读取数据、解析 HTTP header ,然后创建一个 每个 HTTP 请求的请求响应对象。

如果您只是想看看分派(dispatch)到 servlet 的工作原理(请求的 URL 与路径映射的匹配、新 servlet 的实例化等),请尝试在 ServletHandler.doHandle 中设置断点。 p>

如果你想要介于两者之间的东西,那么 Server.handle 是个好地方 - 这将发生在传入流被解析之后,但在 Jetty 做出关于请求应该如何处理的任何决定之前处理。

关于java - 我如何逐步查看 jetty 的源代码以查看它如何处理典型的 servlet 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9493344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com