当前位置: 首页 > 面试题库 >

有没有办法从Java Servlet处理程序获取原始的HTTP请求流?

邵文乐
2023-03-14
问题内容

我正在尝试进行一些日志记录,以捕获进入我的应用程序的原始http请求。我的Java代码在SpringMVC控制器内部。我可以访问“
HttpServletRequest”对象。但是我找不到从中获取原始http请求流的方法。有读者,但只阅读帖子内容。我想要的是整个shebang,URL,标题,正文。是否有捷径可寻?

提前致谢。


问题答案:

不,servlet不提供要获取原始请求的api-为此,您可能需要像wireshark这样的嗅探器。

您可以通过以下方法获得解析后的请求标头和uri:

  • getHeaderNames()
  • getRequestURI()

等等



 类似资料:
  • 问题内容: 这个想法是在某些情况下从另一个来源获取数据,所以我有这个存根: 失败了 [$ injector:cdep]找到循环依赖项:拦截器<-$ http 还尝试注入$ injector并使用它获取$ http,结果相同。有任何想法吗? .config就是声明: 问题答案: 注入到: 用它来获取回调函数中返回的对象。 这是一个例子

  • 我正在尝试为在jersey上构建的项目制定日志记录标准,我想提供一种简单的方法来记录请求信息和响应,以防出现异常。以下代码说明了我的想法: 问题是如何在我的ServiceException类中获得以下内容: 我试图访问,但运气不佳。 提前感谢!

  • 问题内容: 众所周知,Java总是在创建时初始化数组。即总是返回一个所有元素= 0的数组。我知道这对于对象数组是必须的,但是对于原始数组(可能是布尔型),在大多数情况下,我们并不关心初始值。 有人知道避免这种初始化的方法吗? 问题答案: 我已经做了一些调查。没有合法的方法在Java中创建未初始化的数组。甚至JNI NewXxxArray也会创建初始化的数组。因此,不可能确切知道数组清零的成本。尽管

  • 问题内容: 因此,我使用Python 3.2.1的cElementTree解析了一些XML文件,并且在解析过程中,我注意到某些标签缺少属性信息。我想知道是否有任何简单的方法来获取xml文件中这些元素的行号。 问题答案: 查看文档,我看不到使用cElementTree做到这一点。 但是,我对lxml的XML实现版本感到幸运。使用libxml2,它的替换量几乎下降了。元素具有属性。(以及获得许多其他X

  • 我试图根据Spring的RequestMapping注释方法上存在的注释来实现一些逻辑。 所以我在我的方法中有一个实例,我想问Spring“给我一个方法,它将被调用来处理这个请求”,所以我可以使用反射API来询问我的注释是否存在或不存在,所以我可以更改处理。 有没有什么简单的方法可以从Spring MVC获取这些信息?

  • 问题内容: 我已经构建了一种通过$ http返回资源的复杂方法。 该方法返回一个Promise,然后检查资源是否存在我的本地缓存。如果这样做,它将返回缓存的资源,否则,将发出$ http请求。在资源被缓存后,这种方法效果很好,但是在整个应用程序中,我有多种功能正在按此方法加载,并且每个函数都会发出http请求,因为资源尚未返回和缓存。 我想出了一个简单的检查方法来解决此问题,但我觉得应该有一个更好