web-dev-qa-db-ja.com

Tomcat 6のファイル拡張子にデフォルトのmime-typeを設定するにはどうすればよいですか?

MIMEタイプは、Tomcatのconf /web.xmlファイルで指定されます。これは次のようになります。

<mime-mapping>
   <extension>txt</extension>
   <mime-type>text/plain</mime-type>
</mime-mapping>

以前、私は次のことを試みました:

<mime-mapping>
   <extension>*</extension>
   <mime-type>application/octet-stream</mime-type>
</mime-mapping> 

しかし、それは私を助けません。ファイル拡張子にデフォルトのmime-typeを指定するにはどうすればよいですか?

14
Ivan Kaplin

方法はありません。自分で明示的に設定する必要があります。これにはサーブレットフィルタが適しています。

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
    response.setContentType("application/octet-stream");
    chain.doFilter(request, response);
}

しかし、私はこれに対するビジネス上の必要性に非常に疑問を持っています。それはSEOとクライアントにとって不利なだけです。 名前を付けて保存ダイアログをポップすることが唯一の目的である場合は、そのように言う必要があります。間違ったmimeタイプを強制するよりも、これを達成するためのはるかに優れたソリューションがあります。

12
BalusC