【问题标题】:What does setContentLength() method of ServletResponse actually do?ServletResponse 的 setContentLength() 方法实际上是做什么的?
【发布时间】:2020-11-29 02:19:50
【问题描述】:

根据文档,ServletResponse 接口的setContentLength(int len) 方法设置响应中内容主体的长度在HTTP servlet 中,该方法设置HTTP Content-Length 标头。

  • 参数: len - 一个整数,指定返回给客户端的内容的长度;设置 Content-Length 标头

这是扩展HttpServlet的类的doGet()方法:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/plain");
    response.setContentLength(6);
    PrintWriter out = response.getWriter();
    out.write("What's your name? ");
    out.write("" + response.isCommitted());
}

当我在 Chrome 浏览器上运行时,输出为:What's your name? false

我很困惑这里计算setContentLength()长度的度量标准是什么,无论是字节、字符还是其他什么,如果它设置了正文的内容长度,为什么response.isCommitted()返回@ 987654330@ 并且我要输出的文本的长度没有被截断?谢谢。

【问题讨论】:

    标签: http jsp servlets


    【解决方案1】:

    我很困惑计算长度的实际指标是什么 这里的 setContentLength() ,无论是字节、字符还是 某事

    byte

    查看thisspecificationSection#14.13 Content-Length 了解详细信息。

    当我在 Chrome 浏览器上运行它时,输出是:What's your 姓名?错误

    我怀疑你说的话的有效性。

    下面是我的 Chrome 浏览器的截图:

    下面是我的 Firefox 浏览器的截图:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 2010-11-26
      • 2015-06-23
      • 2017-12-26
      • 2016-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多