Tomcat如何快速响应静态资源(DefaultServlet+浏览器缓存
Tomcat可以通过内置的DefaultServlet来快速响应静态资源,并且可以利用浏览器缓存来优化性能。以下是如何配置Tomcat以便其能够快速响应静态资源的步骤:
- 修改
<Tomcat安装目录>/conf/web.xml
文件,找到<servlet>
标签下的default
<servlet-mapping>
标签。 - 确保
<servlet>
标签下的servlet-class
属性设置为org.apache.catalina.servlets.DefaultServlet
。 - 确保
<servlet-mapping>
标签下的url-pattern
属性设置为/static
(或者你想要的任何路径)。 - 在
<servlet>
标签内添加或修改init-param
标签,设置debug
、listings
和readOnly
属性,通常设置readOnly
为true
以提升性能。
例如:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>readOnly</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
- 配置浏览器缓存。为静态资源设置合适的
Cache-Control
和Expires
头,例如:
<mime-mapping>
<extension>jpg</extension>
<mime-type>image/jpeg</mime-type>
<parameter>
<name>cacheControl</name>
<value>max-age=31536000,public</value>
</parameter>
</mime-mapping>
<mime-mapping>
<extension>png</extension>
<mime-type>image/png</mime-type>
<parameter>
<name>cacheControl</name>
<value>max-age=31536000,public</value>
</parameter>
</mime-mapping>
<!-- 其他静态资源类型 -->
这样配置后,Tomcat会通过DefaultServlet来快速响应静态资源请求,并且利用浏览器缓存来减少带宽使用和提高性能。
评论已关闭