response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。
Tomcat的安装目录\conf\web.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文档,双击它就会在网页中打开该文档。
<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