tomcat - HttpServletResponse 如何获取 header 以检查大小

标签 tomcat servlets http-headers http-post

我有一个关于获取整个 Response 大小的问题。

我试图使用 getHeader 函数来查找标题的 while 大小(字节)但是

我无法找到标题的整个大小

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html#getHeader%28java.lang.String

我正在使用 doPost 函数,它传递请求和响应。

我能够找到请求 header 的内容,但是我不确定如何获取响应的内容(或大小)

有谁知道如何获取响应的字节大小或 header 的内容?

谢谢

最佳答案

您可以通过两种方式使用过滤器包装您的 servlet:

  • 将响应对象转换为org.apache.catalina.connector.Response,并调用 getBytesWritten(false)。这就是访问日志阀所做的(参见实现 here )。请注意,这只是响应主体的大小。
  • 在过滤器中,用缓存响应包装响应,这将缓存响应主体和 header 。然后,在请求获得大小之后。同样,这只是响应主体的大小。您必须自己构建 header 大小,因此可能会出现一些差异。

关于tomcat - HttpServletResponse 如何获取 header 以检查大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885165/

相关文章:

java - Eclipse 自动关闭

java - 每当上下文加载(tomcat 启动)时,如何在 java web 应用程序中自动运行 servlet/action

ruby-on-rails - 如何创建到 Rails 资源的 DELETE 链接?

xml - Authentication Required 弹出窗口无休止地出现 - tomcat 8

maven - 为将在 tomcat 中运行的 Web 应用程序提供范围 "provided"的依赖项

java - 以更好的方式更新 EAR 文件中的单个文件

python - Mechanize 响应中没有 Content-Disposition header

testing - Jmeter - 使用 csv 设置 http header

java - 将 Java EE 应用程序部署到 Tomcat8

java - java servlet 中的 html 表单处理