Tomcat服务器访问静态图片

通常静态图片是统一存储在tomcat外部的某个目录,如果要访问这些资源,一般有两种方式:

  1. 使用流的方式
  2. 配置server.xml文件

第一种方式在浏览器端做不了缓存,而第二种是可以使用缓存的,这里说明一下第二种的做法。

修改Tomcat服务器conf目录下server.xml文件,添加Context标签:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />

<Context path="/picture" docBase="/opt/appdata/image" reloadable="true" debug="0" crossContext="true"/>
</Host>

其中path是客户端请求的url,docBase是静态资源存放在服务器上的具体目录,reloadable指有文件更新时,tomcat在不重启的情况下是否重新加载,一般设置为true。

例如:在服务器上的/opt/appdata/image/test目录下有一张名为desktop_bg.jpg的图片,tomcat启动之后只需要访问 http://192.168.128.1:8080/picture/test/desktop_bg.jpg 即可访问该图片。

------ 本文完 ------