public class HelloWorld extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
**response.setContentType("text/html");**
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head><title>Hello World</title></title>");
pw.println("<body>");
pw.println("<h1>Hello World</h1>");
pw.println("</body></html>");
}
}
答案 0 :(得分:18)
内容类型包含在HTTP响应中,因为内容中字节序列值的相同字节可以多种方式解释。(*)
请记住,http可以传输的不仅仅是HTML(js,css和图像都是明显的例子),在某些情况下,接收者不会知道它将接收什么类型的对象。
(*)这里显而易见的是XHTML - 这是XML。如果内容类型为application/xml
,则接收方应将其视为XML。如果它被提供为application/xhtml+xml
,那么它应该被视为XHTML。
答案 1 :(得分:12)
来自JavaEE docs ServletResponse#setContentType
如果尚未提交响应,则设置发送给客户端的响应的内容类型。
给定的内容类型可能包含字符编码规范,例如
response.setContentType("text/html;charset=UTF-8");
如果在调用getWriter
之前调用此方法,则仅根据给定的内容类型设置响应的字符编码。
可以重复调用此方法以更改内容类型和字符编码。
如果在提交响应后调用此方法,则此方法无效。如果在调用getWriter
之后或者在提交响应之后调用它,则不会设置响应的字符编码。
如果协议提供了一种方法,容器必须将用于servlet响应编写器的内容类型和字符编码传递给客户端。对于HTTP,使用Content-Type标头。
答案 2 :(得分:5)
这意味着您要向客户端发送哪种类型的响应,某些内容类型如:
res.setContentType("image/gif");
res.setContentType("application/pdf");
res.setContentType("application/zip");
答案 3 :(得分:2)
response.setContentType("text/html");
上面的代码将包含在“HTTP响应”中,以通知浏览器有关响应的格式,以便浏览器可以解释它。
答案 4 :(得分:1)
它是MIME
类型中的一种,在这种情况下,您响应标头MIME
类型为text/html
,这意味着它显示html类型。这是浏览器的信息。您还可以设置其他类型来显示excel,zip等。有关详细信息,请参阅MIME Type
答案 5 :(得分:1)
你必须告诉浏览器你要发送回来的内容 浏览器可以采取适当的操作,如启动PDF查看器(如果正在接收或启动视频) 播放器播放视频文件,如果内容类型是简单的html响应则呈现HTML,将响应的字节保存为下载文件等。
一些常见的MIME类型是text / html,application / pdf,video / quicktime,application / java,image / jpeg,application / jar等
在您的情况下,因为您要向客户端发送HTML响应,您必须将内容类型设置为text / html