Как установить mime-tipe по умолчанию для любого расширения файла в Tomcat 6?

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 по умолчанию для любого расширения файла?

Ответы

Ответ 1

Нет. Вам нужно явно установить их самостоятельно. Сервлет-фильтр является подходящим местом для этого.

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

Я очень сомневаюсь в необходимости бизнеса для этого. Это только невыгодно для SEO и клиента. Если ваша единственная цель - открыть диалог "Сохранить как", тогда вы должны это сказать. Есть гораздо лучшие решения для достижения этого, чем заставлять неправильный тип mime.