【发布时间】: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@ 并且我要输出的文本的长度没有被截断?谢谢。
【问题讨论】: