【发布时间】:2016-08-28 04:11:02
【问题描述】:
在servlet中,通常我们会指定一个contentType,然后我们可以打印出html代码。
response.setContentType("text/html");
PrintWriter out = response.getWriter();
如果,我们没有指定 contentType,那么任何 contentType 都会被设置为默认值?我通过添加response.setContentType("text/html"); 进行了测试,然后在它之后删除,但是我的网站能够呈现 html?这是为什么?
【问题讨论】:
-
HTTP 功能是在打印(例如)HTM 文本之前发送所谓的标题行,然后是一个空行,然后是(HTML)内容。一个标题行可以是“Content-Type: text/html”。如果没有发送,浏览器必须自己猜测。
-
如果您谈论的是浏览器解释响应,那么他们默认将其视为
text/html听起来很自然,这是他们大部分时间应该得到的。 -
@Berger 不是默认是 text/plain 吗?我在某处读过它
-
@hades 默认为 contentType="text/html"。你可以从这里阅读docs.oracle.com/cd/B14099_19/web.1012/b14014/jspnls.htm
-
@JarYit 用于 JSP,而不是 Servlet API