2009年11月19日 星期四

tomcat解決ie開啟rar檔呈現亂碼的問題

1.
因為容器系統必須告訴瀏覽器要以什麼型式打開文件
而TOMCAT在默認情況下載.rar的文件是當作text打開文件
所以ie在打開rar檔時會呈現亂碼
在目錄conf底下的web.xml加入下面的程式碼後,在重開TOMCAT
<mime-mapping>

<extension>zip</extension>

<mime-type>application/zip</mime-type>

</mime-mapping>


同理,當其他文件也沒法正常以應用程是顯示的話
也是用這樣的方式在tomcat加上開啟該類文件的程式碼
例如pdf
<mime-mapping></mime-mapping>

<extension></extension>pdf


<mime-type></mime-type>

2.
不同的ContentType 會影響客戶端所看到的效果

默認的ContentType為 text/html 也就是網頁格式

要知道更多contentype可google一下

常用ContentType
* text/plain(純文本)
* text/html(HTML文檔)
* application/xhtml+xml(XHTML文檔)
* image/gif(GIF圖像)
* image/jpeg(JPEG圖像)
* image/png(PNG圖像)
* video/mpeg(MPEG動畫)
* application/octet-stream(任意的二進位數據)
* application/pdf(PDF文檔)
* application/msword(Microsoft Word文件)
* message/rfc822(RFC 822形式)
* multipart/alternative(HTML郵件的HTML形式和純文本形式,相同內容使用不同形式表示)
* application/x-www-form-urlencoded(使用HTTP的POST方法提交的表單)
* multipart/form-data(同上,但主要用於表單提交時伴隨文件上傳的場合)

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
application/x-csh csh
application/x-director dcr dir dxr
application/x-dvi dvi
application/x-futuresplash spl
application/x-gtar gtar
application/x-hdf hdf
application/x-httpd-php .php .php4 .php3 .phtml
application/x-httpd-php-source .phps
application/x-javascript js
application/x-koan skp skd skt skm
application/x-latex latex
application/x-netcdf nc cdf
application/x-pkcs7-crl .crl
application/x-sh sh
application/x-shar shar
application/x-shockwave-flash swf
application/x-stuffit sit
application/x-sv4cpio sv4cpio
application/x-sv4crc sv4crc
application/x-tar .tgz tar
application/x-tcl tcl
application/x-tex tex
application/x-texinfo texinfo texi
application/x-troff t tr roff
application/x-troff-man man
application/x-troff-me me
application/x-troff-ms ms
application/x-ustar ustar
application/x-wais-source src
application/x-x509-ca-cert .crt
application/xhtml+xml xhtml xht
application/xml xml xsl
application/xml-dtd dtd
application/xslt+xml xslt
application/zip zip
audio/basic au snd
audio/midi mid midi kar
audio/mpeg mpga mp2 mp3
audio/x-aiff aif aiff aifc
audio/x-mpegurl m3u
audio/x-pn-realaudio ram rm
audio/x-pn-realaudio-plugin rpm
audio/x-realaudio ra
audio/x-wav wav
chemical/x-pdb pdb
chemical/x-xyz xyz
image/bmp bmp
image/cgm cgm
image/gif gif
image/ief ief
image/jpeg jpeg jpg jpe
image/png png
image/svg+xml svg
image/tiff tiff tif
image/vnd.djvu djvu djv
image/vnd.wap.wbmp .wbmp wbmp
image/x-cmu-raster ras
image/x-icon ico
image/x-portable-anymap pnm
image/x-portable-bitmap pbm
image/x-portable-graymap pgm
image/x-portable-pixmap ppm
image/x-rgb rgb
image/x-xbitmap xbm
image/x-xpixmap xpm
image/x-xwindowdump xwd
model/iges igs iges
model/mesh msh mesh silo
model/vrml wrl vrml
text/calendar ics ifb
text/css css
text/html .shtml html htm
text/plain asc txt
text/richtext rtx
text/rtf rtf
text/sgml sgml sgm
text/tab-separated-values tsv
text/vnd.wap.wml .wml wml
text/vnd.wap.wmlscript .wmls wmls
text/x-setext etx
video/mpeg mpeg mpg mpe
video/quicktime qt mov
video/vnd.mpegurl mxu
video/x-msvideo avi
video/x-sgi-movie movie
x-conference/x-cooltalk ice



(--提醒自己--)瀏覽器開啟檔案是依照http伺服器告訴他如何開啟文件的方式打開

伺服器會在header包含MIME(Content-Type)告訴瀏覽器他傳送的東西是屬於那一種型態

然後瀏覽器再按照該型態打開文件的方式打開