Bla*_*man 3 java jetty intellij-idea
我想单步执行 jetty 源代码,因为它响应典型的 servlet 请求。
我怎样才能做到这一点?
我需要下载源代码吗?
我应该在哪里设置断点的入口点?
是的,你可以做到。
是的,你需要下载源代码(除非你喜欢在调试器中读取字节码:)
),如果你使用Maven,那么你可以让maven为你下载
可以使用“标准”Jetty 设置来完成此操作,但我发现为这些任务构建快速嵌入式 Jetty 服务器要容易得多。即使您不熟悉嵌入 jetty,学习它也不难,并且将帮助您了解 Jetty 如何处理 servlet。请参阅嵌入码头文档
断点的位置将取决于您使用的 Jetty 版本以及您想要深入 Jetty 内部的深度。
您可以在构造函数中设置一个断点,这样HttpConnection
您就可以查看 Jetty 如何从原始 TCP/IP 套接字读取数据、解析 HTTP 标头,然后为每个 HTTP 请求创建请求和响应对象。
如果您只想查看 servlet 的分派是如何工作的(请求的 URL 与路径映射的匹配、新 servlet 的实例化等),则尝试在 ServletHandler.doHandle
如果您想要介于两者之间的东西,那么这Server.handle
是一个好地方 - 这将发生在解析传入流之后,但在 Jetty 做出有关如何处理请求的任何决定之前。
归档时间: |
|
查看次数: |
1179 次 |
最近记录: |