You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tomcat中定义需要缓存的资源?主资源代表什么含义?

主资源定义

Tomcat中的主资源指Web应用本身自带的标准资源集合,默认对应WAR包解压后或应用部署根目录下的所有文件,包括WEB-INF目录、静态资源(JS/CSS/图片)、静态HTML页面等应用核心原生资源,未额外配置PreResources/PostResources时,Tomcat默认仅加载主资源响应请求。

指定Tomcat缓存资源的实现方式

你可以通过拆分资源集、单独配置缓存开关的方式,自定义哪些资源需要缓存:

  • 全局默认对主资源开启缓存,先在<Resources>根标签设置全局缓存参数,比如你之前用到的cacheMaxSize="100000"
  • 针对不需要缓存的资源,单独配置为PreResources或PostResources资源集,给该资源集单独设置cachingAllowed="false"即可禁用这部分资源的缓存,其余未单独配置的资源默认沿用全局缓存规则

参考配置示例(写在context.xml中):

<Context>
  <!-- 全局资源配置:主资源默认开启缓存,设置总缓存容量 -->
  <Resources cacheMaxSize="100000" cachingAllowed="true">
    <!-- 单独配置动态资源目录,挂载到应用的/dynamic路径,关闭该部分资源的缓存 -->
    <PostResources 
      base="/opt/app/dynamic_resources"
      webAppMount="/dynamic"
      cachingAllowed="false"
      className="org.apache.catalina.webresources.DirResourceSet" />
  </Resources>
</Context>

补充:三类资源的优先级区别

三类资源的加载优先级从高到低为:PreResources > 主资源 > PostResources,同路径下优先级更高的资源会覆盖低优先级资源。

内容的提问来源于stack exchange,提问作者Software Engineer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 20:15:01