我在 Chrome 的 IE 浏览器中遇到了 http 响应问题,它工作正常。 当我将 HttpResponse 设置为:
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.getWrite().write("xyz");
response.getWrite().flush();
response.getWrite().close();
在浏览器中显示的响应如下: 3 xyz0 数字字符附加在字符串的开头和结尾。
如何去除多余字符 3 和 0 ,问题只存在于 IE
最佳答案
尝试设置 Content-length响应的标题。似乎您的 servlet 容器将响应数据发送为 chunked ,字符“3”(以十六进制值表示的 block 中数据的八位字节数)和“0”(最后一个 block )是没有 content-length
header 时接收到的数据的标记出现在响应中,试试这个
String content = "xyz";
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.setContentLength(content.getBytes().length);
response.getWriter().write(content);
response.getWriter().flush();
response.getWriter().close();
关于java - 关于在 ie 中附加额外字符的 http 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676516/