`
cc_index
  • 浏览: 5211 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaWeb - response.setContentType()方法浅析

 
阅读更多

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文件:

<!----------测试MIME----------->
<html>
<head>
<title>测试MIME</title>
</head>
<body>
<a type="application/pdf" href="test.pdf">测试MIME</a>
</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

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

audio/mpeg

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 图像

 

分享到:
评论

相关推荐

    JavaWeb05-购物车.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    JavaWeb06-Servlet.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    JavaWeb08-DBUtil.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    JavaWeb02-request与response.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    javaweb-10.war

    javaweb-10.war

    JavaWeb07-javaWeb模式.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    方立勋javaWeb-ppt.zip

    方javaWeb-ppt.zip .

    JavaWeb12-文件上传.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    JavaWeb11-图片验证码.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    JavaWeb10-分页应用.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    Ajax-javaweb-csu.zip

    Ajax-javaweb-csu.zip,网页-中新网,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改。

    javaweb-QQZONE-JavaWeb.zip

    javaweb-QQZONE-JavaWeb.zip

    JavaWeb13-过滤器与监听器.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    JavaWeb09-EL与JSTL.rar

    JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与include指令.rar JavaWeb05-购物车.rar JavaWeb06-Servlet.rar JavaWeb07-javaWeb模式.rar JavaWeb08-DBUtil.rar ...

    02-javaweb-11-redis.doc

    02-javaweb-11-redis.doc

    02-javaweb-12-Maven.doc

    02-javaweb-12-Maven.doc

    02-javaweb-06-Mybatis.doc

    02-javaweb-06-Mybatis.doc

    02-javaweb-08-JQuery.doc

    02-javaweb-08-JQuery.doc

    佛山科学技术学院-javaweb-注册登录考试页面-实验报告.docx

    实验报告.docx佛山科学技术学院-javaweb-注册登录考试页面-实验报告.docx佛山科学技术学院-javaweb-注册登录考试页面-实验报告.docx佛山科学技术学院-javaweb-注册登录考试页面-实验报告.docx佛山科学技术学院-...

    02javaweb-07-JavaScript.docx

    02javaweb-07-JavaScript.docx

Global site tag (gtag.js) - Google Analytics