Tomcat 在IE中下载rar文件直接以乱码方式打开解决方案

简介:

这几天一直很纳闷,在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  也就是网页格式.

 代码如:

  <%  response.ContentType  = " text/html "   %>   
 
<!-- #i nclude virtual = " /ContentType.html "   -->

 显示的为网页,而

  <%  response.ContentType  = " text/plain "   %>   
 
<!-- #i nclude virtual = " /sscript/ContentType.html "   -->

 则会显示html原代码.

 以下为一些常用的 ContentType

GIF images 
 
<%  response.ContentType  = " image/gif "   %>   
 
<!-- #i nclude virtual = " /myimage.gif "   -->  
 JPEG images 
 
<%  response.ContentType  = " image/jpeg "   %>   
 
<!-- #i nclude virtual = " /myimage.jpeg "   -->  
 TIFF images 
 
<%  response.ContentType  = " image/tiff "   %>   
 
<!-- #i nclude virtual = " /myimage.tiff "   -->  
 MICROSOFT WORD document 
 
<%  response.ContentType  = " application/msword "   %>   
 
<!-- #i nclude virtual = " /myfile.doc "   -->  
 RTF document 
 
<%  response.ContentType  = " application/rtf "   %>   
 
<!-- #i nclude virtual = " /myfile.rtf "   -->  
 MICROSOFT EXCEL document 
 
<%  response.ContentType  = " application/x-excel "   %>   
 
<!-- #i nclude virtual = " /myfile.xls "   -->  
 MICROSOFT POWERPOINT document 
 
<%  response.ContentType  = " application/ms-powerpoint "   %>   
 
<!-- #i nclude virtual = " /myfile.pff "   -->  
 PDF document 
 
<%  response.ContentType  = " application/pdf "   %>   
 
<!-- #i nclude virtual = " /myfile.pdf "   -->  
 ZIP document 
 
<%  response.ContentType  = " application/zip "   %>   
 
<!-- #i nclude virtual = " /myfile.zip "   -->  

 下面是更详细的ContentType

application / andrew - inset ez  
 application
/ mac - binhex40 hqx  
 application
/ mac - compactpro cpt  
 application
/ mathml + xml mathml  
 application
/ msword doc  
 application
/ octet - stream bin dms lha lzh exe  class  so dll  
 application
/ oda oda  
 application
/ ogg ogg  
 application
/ pdf pdf  
 application
/ postscript ai eps ps  
 application
/ rdf + xml rdf  
 application
/ smil smi smil  
 application
/ srgs gram  
 application
/ srgs + xml grxml  
 application
/ vnd.mif mif  
 application
/ vnd.mozilla.xul + xml xul  
 application
/ vnd.ms - excel xls  
 application
/ vnd.ms - powerpoint ppt  
 application
/ vnd.wap.wbxml wbxml  
 application
/ vnd.wap.wmlc .wmlc wmlc  
 application
/ vnd.wap.wmlscriptc .wmlsc wmlsc  
 application
/ voicexml + xml vxml  
 application
/ x - bcpio bcpio  
 application
/ x - cdlink vcd  
 application
/ x - chess - pgn pgn  
 application
/ x - cpio cpio  
目录
相关文章
|
6月前
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
4月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
296 27
|
4月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
417 18
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
315 11
|
5月前
|
Java 关系型数据库 MySQL
JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用
以上就是JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用的基本步骤。这些步骤可能会因为你的具体需求和环境而有所不同,但是基本的思路是一样的。希望这些信息能够帮助你更好地理解和使用这些工具。
179 17
|
11月前
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
638 7
|
11月前
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
986 4
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
129 0
|
8月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。