Tomcat为.svg资源提供错误的内容类型“text / html”

时间:2015-09-22 18:52:58

标签: java tomcat svg

我使用

配置了我的web.xml
<mime-mapping>
    <extension>svg</extension>
    <mime-type>image/svg+xml</mime-type>
</mime-mapping>

但是当我获取资源时,响应头中的内容类型设置为“text / html”。是否存在可能导致此行为的冲突因素?

2 个答案:

答案 0 :(得分:3)

ServletContext有一个方法String getMimeType(String file),它提供文件扩展名和mime类型字符串之间的映射。

您可以在服务器配置中配置此映射(例如,在Tomcats conf/web.xml中)或Web应用程序部署描述符中。

用于提供静态内容的servlet容器的默认servlet使用此映射来设置响应的内容类型(从服务资源的文件名派生)。

现在,如果有一个生成响应的应用程序servlet,则servlet 本身负责设置内容类型。

答案 1 :(得分:1)

您的配置看起来是正确的。 Tomcat将使用提供的映射根据文件扩展名自动创建内容类型标头。确保您所服务的资源实际上具有该文件扩展名。