此处做一下小的汇总,
针对Jetty容器内,存在excel的xlsx文件直接通过链接的方式下载的时候,如果是在Chrome浏览器时,则直接触发浏览器的下载行为,
但是在IE11的浏览器上,则浏览器会直接进行打开该文件,重点是浏览器进行打开该文件的时候,打开后必然是乱码的,这中情况必然是错误的,
但是如果是xls的Excel文件也是就2007老版本的excel文件,则IE浏览器便会提示进行下载,所以原因便是当浏览器支持该文件格式的预览的时候,
则直接打开,不支持时则默认为下载提示,(因为此处是直接访问Jetty容器中的excel文件,而不是代码中通过流的方式返回的文件流,如果是代码中
返回文件流,则直接设置对应的response的响应类型为download即可,但此处既然是通过Jetty默认的方式进行的文件下载,则1.更改Jetty的默认配置,
配置使其在下载指定类型的流文件时,使其重复浏览器的下载行为,而并非直接打开的行为,2.则是设置浏览器IE的行为,针对某一类型的文件流,默认不进行打开的设置,
此处使用设置Jetty方式进行调整,即设置Jetty的MIME协议类型映射,针对xls和xlsx文件类型,统一映射的MIME类型为application/msexcel,
Jetty中的配置方式则为:更改Jetty下etc目录下的webDefault.xml的配置,增加MIME类型的协议映射,
截图配置如下:

Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP

此处主要另外还说明一点则是:针对Jetty中间件对请求的编码的映射,等等也是在该webdefault.xml中进行配置,如该文件中的:  <locale-encoding-mapping-list>用于配置指定编码映射,
可参考:https://www.cnblogs.com/gis2s/articles/3321893.html,包括对应的Jetty对静态文件的缓存的去除也是可以配置该文件的useFileMappedBuffer属性,参考:
https://blog.csdn.net/wwsscc168/article/details/51095099,而对于配置当前Jetty对线程数量的支持,以及访问的超时时间等,可以详细了接下jetty.xml的一些配置信息,
附上百度百科对MIME协议的讲解截图:

Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP

 

转自:https://blog.csdn.net/wxwlife2006/article/details/8115273#commentBox

这几天一向很纳闷,在Tomcat安排的网站中的下载文件中,若是文件是rar类型的,一点击下载rar文件就直接打开,并且呈现乱码,右键另存为浏览器也是默认为html格局,一向认为是浏览器IE的题目,后来发明其实不关浏览器的题目,而是Tomcat办事器设备的题目,具体如下:

web.xml文件中设备<mime-mapping>下载文件类型
TOMCAT在默认景象下下载.rar的文件是把文件算作text打开,以至于IE打开RAR文件为乱码,若是碰到这种景象时不必认为是浏览器的题目,大多半浏览器应当不会逝世皮赖脸地把二进制文件算作文本打开,一般都是办事器给什么浏览器就开什么.解决办法:

打开conf/web.xml,参加下面的代码.

 <mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rar</extension>
<mime-type>application/rar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>application/txt</mime-type>
</mime-mapping>
<mime-mapping>
<extension>chm</extension>
<mime-type>application/mshelp</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp3</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>

重启TOMCAT,清除IE缓存,再打开RAR的文件时就可以正常下载了.

不合的ContentType 会影响客户端所看到的结果.

默认的ContentType为 text/html  也就是网页格局.

代码如:

Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="text/html" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/ContentType.html" -->

显示的为网页,而

Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="text/plain" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/sscript/ContentType.html" -->

则会显示html原代码.

以下为一些常用的 ContentType

Jetty,Tomcat对MIME协议的配置参数说明-LMLPHPGIF images 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="image/gif" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myimage.gif" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP JPEG images 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="image/jpeg" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myimage.jpeg" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP TIFF images 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="image/tiff" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myimage.tiff" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP MICROSOFT WORD document 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="application/msword" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myfile.doc" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP RTF document 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="application/rtf" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myfile.rtf" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP MICROSOFT EXCEL document 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="application/x-excel" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myfile.xls" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP MICROSOFT POWERPOINT document 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="application/ms-powerpoint" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myfile.pff" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP PDF document 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="application/pdf" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myfile.pdf" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP ZIP document 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <% response.ContentType ="application/zip" %>  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP <!--#i nclude virtual="/myfile.zip" --> 
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP

下面是更具体的ContentType

Jetty,Tomcat对MIME协议的配置参数说明-LMLPHPapplication/andrew-inset ez  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/mac-binhex40 hqx  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/mac-compactpro cpt  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/mathml+xml mathml  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/msword doc  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/octet-stream bin dms lha lzh exe class so dll  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/oda oda  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/ogg ogg  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/pdf pdf  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/postscript ai eps ps  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/rdf+xml rdf  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/smil smi smil  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/srgs gram  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/srgs+xml grxml  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/vnd.mif mif  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/vnd.mozilla.xul+xml xul  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/vnd.ms-excel xls  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/vnd.ms-powerpoint ppt  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/vnd.wap.wbxml wbxml  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/vnd.wap.wmlc .wmlc wmlc  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/vnd.wap.wmlscriptc .wmlsc wmlsc  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/voicexml+xml vxml  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-bcpio bcpio  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-cdlink vcd  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-chess-pgn pgn  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-cpio cpio  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-csh csh  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-director dcr dir dxr  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-dvi dvi  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-futuresplash spl  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-gtar gtar  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-hdf hdf  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-httpd-php .php .php4 .php3 .phtml  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-httpd-php-source .phps  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-javascript js  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-koan skp skd skt skm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-latex latex  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-netcdf nc cdf  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-pkcs7-crl .crl  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-sh sh  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-shar shar  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-shockwave-flash swf  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-stuffit sit  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-sv4cpio sv4cpio  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-sv4crc sv4crc  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-tar .tgz tar  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-tcl tcl  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-tex tex  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-texinfo texinfo texi  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-troff t tr roff  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-troff-man man  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-troff-me me  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-troff-ms ms  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-ustar ustar  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-wais-source src  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/x-x509-ca-cert .crt  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/xhtml+xml xhtml xht  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/xml xml xsl  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/xml-dtd dtd  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/xslt+xml xslt  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP application/zip zip  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/basic au snd  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/midi mid midi kar  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/mpeg mpga mp2 mp3  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/x-aiff aif aiff aifc  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/x-mpegurl m3u  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/x-pn-realaudio ram rm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/x-pn-realaudio-plugin rpm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/x-realaudio ra  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP audio/x-wav wav  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP chemical/x-pdb pdb  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP chemical/x-xyz xyz  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/bmp bmp  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/cgm cgm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/gif gif  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/ief ief  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/jpeg jpeg jpg jpe  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/png png  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/svg+xml svg  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/tiff tiff tif  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/vnd.djvu djvu djv  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/vnd.wap.wbmp .wbmp wbmp  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-cmu-raster ras  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-icon ico  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-portable-anymap pnm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-portable-bitmap pbm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-portable-graymap pgm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-portable-pixmap ppm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-rgb rgb  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-xbitmap xbm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-xpixmap xpm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP image/x-xwindowdump xwd  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP model/iges igs iges  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP model/mesh msh mesh silo  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP model/vrml wrl vrml  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/calendar ics ifb  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/css css  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/html .shtml html htm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/plain asc txt  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/richtext rtx  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/rtf rtf  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/sgml sgml sgm  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/tab-separated-values tsv  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/vnd.wap.wml .wml wml  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/vnd.wap.wmlscript .wmls wmls  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP text/x-setext etx  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP video/mpeg mpeg mpg mpe  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP video/quicktime qt mov  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP video/vnd.mpegurl mxu  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP video/x-msvideo avi  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP video/x-sgi-movie movie  
Jetty,Tomcat对MIME协议的配置参数说明-LMLPHP x-conference/x-cooltalk ice 

TXT文件做下载的JS实现

<%...@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无题目文档</title>
<script language="JavaScript">...
function openfile(url) ...{
var a =window.open(url,"_blank","");
a.document.execCommand("SaveAs");
a.close();
}
</script>
</head>
<body>
<p><a href="#" onclick=""openfile("aa.txt")"">下载</a></p>
</body>
</html>
转载请注明出处[http://samlin.cnblogs.com/]

05-11 22:41