• response.setContentType()的作用及MIME参数详解


    response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。

    例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。
    Tomcat的安装目录confweb.xml 中就定义了大量MIME类型 ,可以参考。
    response.setContentType("text/html; charset=utf-8"); html
    .setContentType("text/plain; charset=utf-8"); 文本
    text/javascript json数据
    application/xml xml数据

    这 个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例 如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型 中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设置 Content-type实体报头。

    一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:

    response.setContentType("text/html;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");
    response.setContentType()的String参数及对应类型
    <option value="image/bmp">BMP</option>
    <option value="image/gif">GIF</option>
    <option value="image/jpeg">JPEG</option>
    <option value="image/tiff">TIFF</option>
    <option value="image/x-dcx">DCX</option>
    <option value="image/x-pcx">PCX</option>
    <option value="text/html">HTML</option>
    <option value="text/plain">TXT</option>
    <option value="text/xml">XML</option>
    <option value="application/afp">AFP</option>
    <option value="application/pdf">PDF</option>
    <option value="application/rtf">RTF</option>
    <option value="application/msword">MSWORD</option>
    <option value="application/vnd.ms-excel">MSEXCEL</option>
    <option value="application/vnd.ms-powerpoint">MSPOWERPOINT</option>
    <option value="application/wordperfect5.1">WORDPERFECT</option>
    <option value="application/vnd.lotus-wordpro">WORDPRO</option>
    <option value="application/vnd.visio">VISIO</option>
    <option value="application/vnd.framemaker">FRAMEMAKER</option>
    <option value="application/vnd.lotus-1-2-3">LOTUS123</option> 

    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文档,双击它就会在网页中打开该文档。
    -------------------------------------------------------------------------------------------------------------
    response.setContentType()的参数说明

    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    response.setContentType() ;
    * = application/octet-stream
    .001 = application/x-001
    .301 = application/x-301
    .323 = text/h323
    .906 = application/x-906
    .907 = drawing/907
    .a11 = application/x-a11
    .acp = audio/x-mei-aac
    .ai = application/postscript
    .aif = audio/aiff
    .aifc = audio/aiff
    .aiff = audio/aiff
    .anv = application/x-anv
    .asa = text/asa
    .asf = video/x-ms-asf
    .asp = text/asp
    .asx = video/x-ms-asf
    .au = audio/basic
    .avi = video/avi
    .awf = application/vnd.adobe.workflow
    .biz = text/xml
    .bmp = application/x-bmp
    .bot = application/x-bot
    .c4t = application/x-c4t
    .c90 = application/x-c90
    .cal = application/x-cals
    .cat = application/vnd.ms-pki.seccat
    .cdf = application/x-netcdf
    .cdr = application/x-cdr
    .cel = application/x-cel
    .cer = application/x-x509-ca-cert
    .cg4 = application/x-g4
    .cgm = application/x-cgm
    .cit = application/x-cit
    .class = java/*
    .cml = text/xml :客户端浏览器按XML格式进行解析文档
    .cmp = application/x-cmp
    .cmx = application/x-cmx
    .cot = application/x-cot
    .crl = application/pkix-crl
    .crt = application/x-x509-ca-cert
    .csi = application/x-csi
    .css = text/css :客户端浏览器按CSS格式进行解析文档
    .cut = application/x-cut
    .dbf = application/x-dbf
    .dbm = application/x-dbm
    .dbx = application/x-dbx
    .dcd = text/xml :客户端浏览器按XML格式进行解析文档
    .dcx = application/x-dcx
    .der = application/x-x509-ca-cert
    .dgn = application/x-dgn
    .dib = application/x-dib
    .dll = application/x-msdownload
    .doc = application/msword
    .dot = application/msword
    .drw = application/x-drw
    .dtd = text/xml :客户端浏览器按XML格式进行解析文档
    .dwf = Model/vnd.dwf
    .dwf = application/x-dwf
    .dwg = application/x-dwg
    .dxb = application/x-dxb
    .dxf = application/x-dxf
    .edn = application/vnd.adobe.edn
    .emf = application/x-emf
    .eml = message/rfc822
    .ent = text/xml :客户端浏览器按XML格式进行解析文档
    .epi = application/x-epi
    .eps = application/x-ps
    .eps = application/postscript
    .etd = application/x-ebx
    .exe = application/x-msdownload
    .fax = image/fax
    .fdf = application/vnd.fdf
    .fif = application/fractals
    .fo = text/xml :客户端浏览器按XML格式进行解析文档
    .frm = application/x-frm
    .g4 = application/x-g4
    .gbr = application/x-gbr
    .gcd = application/x-gcd
    .gif = image/gif
    .gl2 = application/x-gl2
    .gp4 = application/x-gp4
    .hgl = application/x-hgl
    .hmr = application/x-hmr
    .hpg = application/x-hpgl
    .hpl = application/x-hpl
    .hqx = application/mac-binhex40
    .hrf = application/x-hrf
    .hta = application/hta
    .htc = text/x-component
    .htm = text/html :客户端浏览器按超文本格式进行解析文档
    .html = text/html :客户端浏览器按超文本格式进行解析文档
    .htt = text/webviewhtml
    .htx = text/html :客户端浏览器按超文本格式进行解析文档
    .icb = application/x-icb
    .ico = image/x-icon
    .ico = application/x-ico
    .iff = application/x-iff
    .ig4 = application/x-g4
    .igs = application/x-igs
    .iii = application/x-iphone
    .img = application/x-img
    .ins = application/x-internet-signup
    .isp = application/x-internet-signup
    .IVF = video/x-ivf
    .java = java/*
    .jfif = image/jpeg
    .jpe = image/jpeg
    .jpe = application/x-jpe
    .jpeg = image/jpeg
    .jpg = image/jpeg
    .jpg = application/x-jpg
    .js = application/x-javascript
    .jsp = text/html :客户端浏览器按超文本格式进行解析文档
    .la1 = audio/x-liquid-file
    .lar = application/x-laplayer-reg
    .latex = application/x-latex
    .lavs = audio/x-liquid-secure
    .lbm = application/x-lbm
    .lmsff = audio/x-la-lms
    .ls = application/x-javascript
    .ltr = application/x-ltr
    .m1v = video/x-mpeg
    .m2v = video/x-mpeg
    .m3u = audio/mpegurl
    .m4e = video/mpeg4
    .mac = application/x-mac
    .man = application/x-troff-man
    .math = text/xml
    .mdb = application/msaccess
    .mdb = application/x-mdb
    .mfp = application/x-shockwave-flash
    .mht = message/rfc822
    .mhtml = message/rfc822
    .mi = application/x-mi
    .mid = audio/mid
    .midi = audio/mid
    .mil = application/x-mil
    .mml = text/xml
    .mnd = audio/x-musicnet-download
    .mns = audio/x-musicnet-stream
    .mocha = application/x-javascript
    .movie = video/x-sgi-movie
    .mp1 = audio/mp1
    .mp2 = audio/mp2
    .mp2v = video/mpeg
    .mp3 = audio/mp3
    .mp4 = video/mpeg4
    .mpa = video/x-mpg
    .mpd = application/vnd.ms-project
    .mpe = video/x-mpeg
    .mpeg = video/mpg
    .mpg = video/mpg
    .mpga = audio/rn-mpeg
    .mpp = application/vnd.ms-project
    .mps = video/x-mpeg
    .mpt = application/vnd.ms-project
    .mpv = video/mpg
    .mpv2 = video/mpeg
    .mpw = application/vnd.ms-project
    .mpx = application/vnd.ms-project
    .mtx = text/xml
    .mxp = application/x-mmxp
    .net = image/pnetvue
    .nrf = application/x-nrf
    .nws = message/rfc822
    .odc = text/x-ms-odc
    .out = application/x-out
    .p10 = application/pkcs10
    .p12 = application/x-pkcs12
    .p7b = application/x-pkcs7-certificates
    .p7c = application/pkcs7-mime
    .p7m = application/pkcs7-mime
    .p7r = application/x-pkcs7-certreqresp
    .p7s = application/pkcs7-signature
    .pc5 = application/x-pc5
    .pci = application/x-pci
    .pcl = application/x-pcl
    .pcx = application/x-pcx
    .pdf = application/pdf :客户端浏览器按PDF格式进行解析文档
    .pdf = application/pdf
    .pdx = application/vnd.adobe.pdx
    .pfx = application/x-pkcs12
    .pgl = application/x-pgl
    .pic = application/x-pic
    .pko = application/vnd.ms-pki.pko
    .pl = application/x-perl
    .plg = text/html
    .pls = audio/scpls
    .plt = application/x-plt
    .png = image/png
    .png = application/x-png
    .pot = application/vnd.ms-powerpoint
    .ppa = application/vnd.ms-powerpoint
    .ppm = application/x-ppm
    .pps = application/vnd.ms-powerpoint
    .ppt = application/vnd.ms-powerpoint
    .ppt = application/x-ppt
    .pr = application/x-pr
    .prf = application/pics-rules
    .prn = application/x-prn
    .prt = application/x-prt
    .ps = application/x-ps
    .ps = application/postscript
    .ptn = application/x-ptn
    .pwz = application/vnd.ms-powerpoint
    .r3t = text/vnd.rn-realtext3d
    .ra = audio/vnd.rn-realaudio
    .ram = audio/x-pn-realaudio
    .ras = application/x-ras
    .rat = application/rat-file
    .rdf = text/xml
    .rec = application/vnd.rn-recording
    .red = application/x-red
    .rgb = application/x-rgb
    .rjs = application/vnd.rn-realsystem-rjs
    .rjt = application/vnd.rn-realsystem-rjt
    .rlc = application/x-rlc
    .rle = application/x-rle
    .rm = application/vnd.rn-realmedia
    .rmf = application/vnd.adobe.rmf
    .rmi = audio/mid
    .rmj = application/vnd.rn-realsystem-rmj
    .rmm = audio/x-pn-realaudio
    .rmp = application/vnd.rn-rn_music_package
    .rms = application/vnd.rn-realmedia-secure
    .rmvb = application/vnd.rn-realmedia-vbr
    .rmx = application/vnd.rn-realsystem-rmx
    .rnx = application/vnd.rn-realplayer
    .rp = image/vnd.rn-realpix
    .rpm = audio/x-pn-realaudio-plugin
    .rsml = application/vnd.rn-rsml
    .rt = text/vnd.rn-realtext
    .rtf = application/msword
    .rtf = application/x-rtf
    .rv = video/vnd.rn-realvideo
    .sam = application/x-sam
    .sat = application/x-sat
    .sdp = application/sdp
    .sdw = application/x-sdw
    .sit = application/x-stuffit
    .slb = application/x-slb
    .sld = application/x-sld
    .slk = drawing/x-slk
    .smi = application/smil
    .smil = application/smil
    .smk = application/x-smk
    .snd = audio/basic
    .sol = text/plain
    .sor = text/plain
    .spc = application/x-pkcs7-certificates
    .spl = application/futuresplash
    .spp = text/xml
    .ssm = application/streamingmedia
    .sst = application/vnd.ms-pki.certstore
    .stl = application/vnd.ms-pki.stl
    .stm = text/html
    .sty = application/x-sty
    .svg = text/xml
    .swf = application/x-shockwave-flash :客户端浏览器按 Flash 格式进行解析文档
    .tdf = application/x-tdf
    .tg4 = application/x-tg4
    .tga = application/x-tga
    .tif = image/tiff
    .tif = application/x-tif
    .tiff = image/tiff
    .tld = text/xml
    .top = drawing/x-top
    .torrent = application/x-bittorrent
    .tsd = text/xml
    .txt = text/plain :客户端浏览器按 纯文本 格式进行解析文档
    .uin = application/x-icq
    .uls = text/iuls
    .vcf = text/x-vcard
    .vda = application/x-vda
    .vdx = application/vnd.visio
    .vml = text/xml
    .vpg = application/x-vpeg005
    .vsd = application/vnd.visio
    .vsd = application/x-vsd
    .vss = application/vnd.visio
    .vst = application/vnd.visio
    .vst = application/x-vst
    .vsw = application/vnd.visio
    .vsx = application/vnd.visio
    .vtx = application/vnd.visio
    .vxml = text/xml
    .wav = audio/wav
    .wax = audio/x-ms-wax
    .wb1 = application/x-wb1
    .wb2 = application/x-wb2
    .wb3 = application/x-wb3
    .wbmp = image/vnd.wap.wbmp
    .wiz = application/msword
    .wk3 = application/x-wk3
    .wk4 = application/x-wk4
    .wkq = application/x-wkq
    .wks = application/x-wks
    .wm = video/x-ms-wm
    .wma = audio/x-ms-wma
    .wmd = application/x-ms-wmd
    .wmf = application/x-wmf
    .wml = text/vnd.wap.wml
    .wmv = video/x-ms-wmv
    .wmx = video/x-ms-wmx
    .wmz = application/x-ms-wmz
    .wp6 = application/x-wp6
    .wpd = application/x-wpd
    .wpg = application/x-wpg
    .wpl = application/vnd.ms-wpl
    .wq1 = application/x-wq1
    .wr1 = application/x-wr1
    .wri = application/x-wri
    .wrk = application/x-wrk
    .ws = application/x-ws
    .ws2 = application/x-ws
    .wsc = text/scriptlet
    .wsdl = text/xml
    .wvx = video/x-ms-wvx
    .xdp = application/vnd.adobe.xdp
    .xdr = text/xml
    .xfd = application/vnd.adobe.xfd
    .xfdf = application/vnd.adobe.xfdf
    .xhtml = text/html
    .xls = application/vnd.ms-excel
    .xls = application/x-xls
    .xlw = application/x-xlw
    .xml = text/xml
    .xpl = audio/scpls
    .xq = text/xml
    .xql = text/xml
    .xquery = text/xml
    .xsd = text/xml
    .xsl = text/xml
    .xslt = text/xml
    .xwd = application/x-xwd
    .x_b = application/x-x_b
    .x_t = application/x-x_t 
  • 相关阅读:
    css字体图标的制作和使用。
    js日期插件bootstrap-datetimepicker的使用
    vue.js学习笔记(二):如何加载本地json文件
    vue.js学习笔记(一):什么是mvvm框架,vue.js的核心思想
    总结XX网app中webapp常见的前端错误。
    EffectiveJava——接口优于抽象类
    EffectiveJava——复合优先于继承
    java多线程(三)——锁机制synchronized(同步语句块)
    java多线程(二)——锁机制synchronized(同步方法)
    java多线程(一)——线程安全的单例模式
  • 原文地址:https://www.cnblogs.com/chickenbeer/p/5141372.html
Copyright © 2020-2023  润新知