java - 关于在 ie 中附加额外字符的 http 响应

标签 java http

我在 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/

相关文章:

java - 枚举和通用常量具体方法

java - 使用单个logging.properties记录到不同的文件

node.js - 为 NodeJS cookie header 设置 HttpOnly 属性

java - java.util.Map对应的XML格式是什么?

java - 外部文件夹中的 Hazelcast 设置

java - 在 Objective c 中验证使用 PBKDF2WithHmacSHA1 算法在 Java 中加密的密码

http - IPv6 环回地址 http ://0:0:0:0:0:0:0:1 - browser can't connect. 方法 getRemoteHost()

java - 如何使用 Java Http 客户端发送带有 multipart/form-data 主体的 PUT 请求?

java - 检测列表中动态创建的编辑文本中的最后一行

node.js - 检查 Node.js 中某个 http 链接中的文件是否存在