如何配置Tomcat静态提供哪些文件扩展名

时间:2014-04-11 10:20:23

标签: java tomcat

在Tomcat 6服务器上托管的现有Java Web应用程序中,我注意到所有以.png.gif等特定扩展名完成的网址都是静态提供的,而如果我用更多内容替换扩展名奇怪的是.eot,然后由servlet处理。

这个文件扩展名列表在哪里配置?我检查了web.xmlserver.xml,但没有找到pnggif的任何提及。

3 个答案:

答案 0 :(得分:4)

只要没有定义servlet(-mapping),所有文件都是静态提供的。 mime扩展是在文件夹/ conf:

中的Tomcats默认web.xml中预定义的
<!-- ===================== Default MIME Type Mappings =================== -->
<!-- When serving static resources, Tomcat will automatically generate    -->
<!-- a "Content-Type" header based on the resource's filename extension,  -->
<!-- based on these mappings.  Additional mappings can be added here (to  -->
<!-- apply to all web applications), or in your own application's web.xml -->
<!-- deployment descriptor.                                               -->

<mime-mapping>
    <extension>123</extension>
    <mime-type>application/vnd.lotus-1-2-3</mime-type>
</mime-mapping>
...

答案 1 :(得分:1)

除了@Stefoan sollution,这是最优的Tomcat AS定义DefaultServlet映射到default作为名称,并提供所有静态资源(jpg,html,css,gif。 ..) 之上。在这里,您可以找到the code base

因此,您只需添加指向它的servlet映射即可将某些自定义文件扩展名作为静态资源提供:

<servlet-mapping>   
  <servlet-name>default</servlet-name>
  <url-pattern>*.eot</url-pattern>
</servlet-mapping>

答案 2 :(得分:1)

嗯,实际上我的问题是特定于Hippo CMS配置(在我的项目中使用)。需要在.eot列表中添加suffixExclusions:cf http://www.onehippo.org/library/concepts/request-handling/mount-matching.html