注:在处理jsp下载时,对response.setContentType()不是很了解,网上找到一篇讲的比较清楚的。
我所看到的链接是:http://www.java3z.com/cwbwebhome/article/article8/81208.html 转载如下:
response.setContentType() 的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。例如web浏览器就是通过MIME 类型来判断文件是GIF图片。通过MIME类型来处理json字符串。
Tomcat的安装目录/conf/web.xml 中就定义了大量MIME类型 ,你可也去看一下。
用表单上传文件,想在服务端验证上传文件的类型,只允许上传GIF,JPG,ZIP, 我们有两种方法:
第一:检查文件的扩展名;
第二:检查文件的MIME类型 。
检查文件的扩展名的方法,很简单快捷,但是 a.jsp 改名为 a.jpg能可以绕过检查上传了。
检查文件的MIME类型的方法,在IE7与Firefox下有一点区别(见下表),有不同浏览器上传表现不一致。Firefox下ZIP与EXE文件的MIME类型同为application/octet-stream。
表中例出的是在服务器端(tomcat5.5)接收不同浏览器上传的文件时,取得的MIME类型:
常见MIME类型例表:
text/html HTML
text/plain TXT
text/xml XML
text/json json字符串