java setcontenttype_JavaWeb: response.setContentType()方法总结

java setcontenttype_JavaWeb: response.setContentType()方法总结博客参考地址 http blog csdn net yunzaitian16 article details response setContentTy 的作用是使客户端浏览器 区分不同种类的数据 并根据不同的 MIME 调用浏览器内不同的程序嵌入模块来处理相应的数据 例如 web 浏览器就是通过 MIME 类型来判断文件是 GIF 图片 通过 MIME 类型来处理 json 字符串 Tomc

博客参考地址:http://blog.csdn.net/yunzaitian163/article/details/

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代码 a4c26d1e5885305701be709a3d33442f.png

测试MIMEtitle></p> <p>

head>


测试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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215998.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午12:48
下一篇 2026年3月18日 下午12:48


相关推荐

  • 深入浅出WPF(1)——什么是WPF[通俗易懂]

    深入浅出WPF(1)——什么是WPF[通俗易懂]深入浅出WPF(1)——什么是WPF 小序: Hi,大家好!几乎两个月没有写技术文章了。这两个月,我在学习WPF。回顾一下两个月的学习历程,有两个感觉——第一,WPF是一项非常实用又简单易学的东西,它将成为未来MS平台上快速开发的主流趋势;第二,WPF的学习比较讲求路径,如果没有一个比较好的路径,学习起来可能比较慢,主要原因是它像是一种ASP.NET与WindowsForms

    2025年7月24日
    4
  • java搭建ai平台(保姆级教程)_java+ai

    java搭建ai平台(保姆级教程)_java+ai

    2026年3月12日
    1
  • 几种更新(Update语句)查询的方法

    几种更新(Update语句)查询的方法

    2021年12月4日
    50
  • pycharm+anaconda_pycharm和anaconda区别

    pycharm+anaconda_pycharm和anaconda区别python自身缺少numpy、matplotlib、scipy、scikit-learn…等一系列包,需要我们安装pip来导入这些包才能进行相应运算(python3.5自带了get-pip.py,不需额外下载安装),在cmd终端输入:pipinstallnumpy就能安装numpy包了。每次都额外安装所需要的包略麻烦,这时候我们可以采用anaconda了。anaconda是一个python发行版,包含了大量的包,使用anaconda无需再去额外安装所需包。安装完anaconda,就相当于安装了Py

    2022年8月26日
    8
  • leetcode-50Pow(x, n)(快速幂)

    leetcode-50Pow(x, n)(快速幂)实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。示例 1:输入:x = 2.00000, n = 10输出:1024.00000示例 2:输入:x = 2.10000, n = 3输出:9.26100示例 3:输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25 提示:-100.0 < x < 100.0-231 <= n <= 231-1-104 <=

    2022年8月8日
    11
  • Oracle更新sysdate,ORACLE SYSDATE 1

    Oracle更新sysdate,ORACLE SYSDATE 1日一二三四五六在 oracle 中有很多关于日期的函数 如 22 add months 用于从一个日期值增加或减少一些月份 date value add months date value number of months 例 SQL gt selectadd months sysdate 12 Next 但是需要注意的一点是 如果同时使用 sys

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号