HTML 在 Java 中通过 OutputStream 发送到 Firefox 的代码无法识别

HTML code sent to Firefox via OutputStream in Java not recognized

我在 Java 中有一个简单的应用程序,它将一些 HTML 代码写入 OutputStream.

运行 这并打开与 Chromium 或 Opera 的连接完美无缺,而对于 Firefox,HTML 代码不会按原样解释和显示。

包含代码的字符串如下所示:

HTMLCode = "<!DOCTYPE html>\n<html>\n<body>\n<h1>\n"
           + "The sum of " + operand1 + " and " + operand2 + " is " + result
           + "\n</h1>\n</body>\n</html>";

其中 operand1operand2resultString

我通过以下代码写入 OutputStream

new PrintStream(out).println(HTMLCode);

Chromium 和 Opera 正确显示,例如,以下内容:

10 和 20 的和是 30

Firefox 显示

<!DOCTYPE html>
<html>
<body>
<h1>
The sum of 2 and 34 is 36
</h1>
</body>
</html>

在实际内容之前发送正确的 HTML headers。

PrintStream ps = new PrintStream(out);
DateFormat df = new SimpleDateFormat("EEE, MMM d, yyyy HH:mm:ss z");
ps.println("HTTP/1.1 200 OK");
ps.println("Content-Type: text/html; charset=UTF-8");
ps.println("Date: " + df.format(new Date()));
ps.println("Connection: close");
ps.println();
ps.println(HTMLCode);