質問: Internet ExplorerがJbossサーバー上でExcelを開こうとすると失敗する 私は、サーバーのファイルシステム上の静的なExcelファイルにリンクするJSF2アプリケーションを持っています。リンクは次のような単純なhtmlです: ``` Excel File}) ``` これはChromeとFirefox、そしてアプリケーションがローカルのWindows 7マシンでTomcatで実行されているときにIEでうまく機能します。しかし、Jboss AS 7.0.1 Finalを備えたLinuxであるステージング環境では、IEはExcelファイルを独自のウィンドウで開こうとし、一連のガベージ文字を生成します。 この問題は、アプリケーションがJboss ASとともにLinux上で実行されている場合にのみ、IE上で発生します。 何が起こっているか、どのようにそれを解決するかについてのアイデア?
回答: どうやら応答内容の種類が間違っています。 Linuxで失敗してもWindowsで成功するという事実を考えると、webapp/server固有のMIMEタイプマッピングではなく、コンテンツタイプを特定するためにプラットフォーム固有のMIMEタイプマッピングが使用されていることを意味します(LinuxマシンMS Officeがインストールされていないため、MIMEタイプの `.xls` や `.xlsx` ファイルを認識していません)。これは、あなたが直接それにリンクするのではなく、一般的なサーブレットを使ってファイルをストリーミングすることを意味します。 If this is true, then you should actually be using `ServletContext#getMimeType()` to determine the content type based on the file extension instead of maybe `URLConnection#guessContentTypeFromName()` which uses the platform-specific mime type mapping. The server has in its own `web.xml` a predefinied list of all default mime types in flavor of entries which you can override/extend in webapp's own `web.xml`.