Response.setContentType(MIME_TYPE) 的作用是使客户端浏览器区分不同类型的数据,并根据MIME_TYPE的不同,调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如WEB浏览器通过MIME_TYPE类型来判断文件是GIF图片,还是JSON字符串。
Tomcat的安装目录\conf\web.xml中完整定义了MIME_TYPE类型。里面的XML 节点中的类型为mime-mapping中就有其类型。
其常见的类型有以下这些:
text/html
text/htm
text/css
image/bmp
image/gif
image/jpeg
text/plain
text/javascript
video/mp4
video/mpeg
application/pdf
image/png
application/rtf
application/zip
Response.setContentType()方法是用来设置发送到客户端相应的内容类型,此时响应的内容还没有返回到客户端浏览器中。给出的内容类型可以包括字符编码说明,例如:text/html:charset=UTF-8,如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。该方法如果在getWriter()方法被调用之后,将不会设置响应的字符编码。
此时只能在HTTP协议中,使用方法设置Content-type实体包头。在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType(“text/html;charset=UTF-8”);
request.setCharacterEncoding("UTF-8");