博客参考地址:http://blog.csdn.net/yunzaitian163/article/details/8264462
response.setContentType()的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如:web浏览器就是通过MIME类型来判断文件是GIF图片,通过MIME类型来处理json字符串。
Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考。
response.setContentType(“text/html; charset=utf-8”); html
response.setContentType(“text/plain; charset=utf-8”); 文本
response.setContentType(“text/javascript; charset=utf-8”);
json数据
response.setContentType(“application/xml; charset=utf-8”);
xml数据
这个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。
给出的内容类型可以包括字符编码说明,例如:text/html;charset=UTF-8
如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。
如果该方法在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设置Content-type实体报头。
一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType(“text/html;charset=UTF-8”);
request.setCharacterEncoding(“UTF-8”);
MIME映射策略就是在网页中使用哪个应用程序(即插件),打开哪种文件。另外还有使用权限问题。比如对PDF文档,用“application/pdf
“策略。这在动态网页中很常见。出现这种现象,有两种情形:
一是使用一个应用程序去打开它不能打开的文档,比如用在标签中定义“DWG”文档用 “application/pdf
”,就会出现无法打开的问题。
二是文件扩展名符合要求,但文件内容(格式)不符合要求。
你可以检查你浏览的网页源代码,获得出错信息。
检查方法是:查看— 源文件。寻找类似于“application/pdf
“的字符串,就可以看到,要打开的文件是否与应用程序匹配。
追问:如果不相匹配如何解决回答这通常是由网页编写人来更改。比如:你在源文件里面找到你要打开的文件的HTML标签,在里面加上应用程序即可。比
如,你要在网页上打开一个PDF文档,找到PDF文档那一行,在HTML标签里加上 type=“application/pdf “
就可以了。
比如以下HTML文件:
Html代码
<html>
<head>
<title>测试MIMEtitle>
head>
<body>
<a type=”application/pdf” href=”test.pdf”>测试MIMEa>
body>
html>
将上面的代码保存为test.html,再在相同的位置存储一个pdf文档,双击它就会在网页中打开该文档。
做用表单上传文件,想在服务端验证上传文件的类型,只允许上传GIF,JPG,ZIP, 我们有两种方法:
第一:检查文件的扩展名;
第二:检查文件的MIME类型 。
检查文件的扩展名的方法,很简单快捷, 但是 a.jsp 改名为 a.jpg能可以绕过检查上传了。
检查文件的MIME类型的方法,在IE7与Firefox下有一点区别(见下表),
有不同浏览器上传表现不一致。Firefox下ZIP与EXE文件的MIME类型同为application/octet-stream。
表中例出的是在服务器端(tomcat5.5)接收不同浏览器上传的文件时,取得的MIME类型
类型
用IE7上传
用Firefox3.0上传
GIF
image/gif
image/gif
JPG
image/pjpeg
image/jpeg
ZIP
application/x-compressed
application/octet-stream
JSP
text/html
text/html
EXE
application/octet-stream
application/octet-stream
常见MIME类型例表:
序号
内容类型
文件扩展名
描述
1
application/msword
doc
Microsoft Word
2
application/octet-stream bin
dms lha lzh exe class
可执行程序
3
application/pdf
Adobe Acrobat
4
application/postscript
ai eps ps
PostScript
5
appication/powerpoint
ppt
Microsoft Powerpoint
6
appication/rtf
rtf
rtf 格式
7
appication/x-compress
z
unix 压缩文件
8
application/x-gzip
gz
gzip
9
application/x-gtar
gtar
tar 文档 (gnu 格式 )
10
application/x-shockwave-flash
swf
MacroMedia Flash
11
application/x-tar
tar
tar(4.3BSD)
12
application/zip
zip
winzip
13
audio/basic
au snd
sun/next 声音文件
14
mpeg mp2
Mpeg 声音文件
15
audio/x-aiff
mid midi rmf
Midi 格式
16
audio/x-pn-realaudio
ram ra
Real Audio 声音
17
audio/x-pn-realaudio-plugin
rpm
Real Audio 插件
18
audio/x-wav
wav
Microsoft Windows 声音
19
image/cgm
cgm
计算机图形元文件
20
image/gif
gif
COMPUSERVE GIF 图像
21
image/jpeg
jpeg jpg jpe
JPEG 图像
22
image/png
png
PNG 图像
今天的文章java setcontenttype_JavaWeb: response.setContentType()方法总结分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/5452.html