tomcat配置外部静态资源映射路径

Posted 一沙世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat配置外部静态资源映射路径相关的知识,希望对你有一定的参考价值。

一、背景

1.有一个录音软件每天生成很多新的录音文件。

2.现在想通过一个WEB项目页面下载这些录音文件。

3.很显然这些录音文件放在WEB项目下不是很合适(WEB项目更新是个大麻烦,海量的录音文件要处理)。

 

二、外部静态资源映射

首先想到的就是tomcat能否直接配置静态资源路径?哈哈,答案是yes!

只需要修改tomcat的配置文件server.xml就能满足我的需求。

1. 文件路径

你的tomcat的安装路径/apache-tomcat-你的版本/conf

例如:

/usr/local/apache-tomcat-7.0.79/conf/server.xml

2. 修改如下

<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="/RecordFile" docBase="/home/lings/recordings" reloadable="true" crossContext="true"></Context>
</Host>

红色那一行就是增加的静态资源映射配置。

 

三、测试

1. 实际录音文件的地址为

/home/lings/recordings/test.wav

2. 页面中资源引用方式为

<div>
    <audio src="/RecordFile/test.wav" controls="controls"></audio>
</div>

一切正常,可以如预期地在线收听和下载。




以上是关于tomcat配置外部静态资源映射路径的主要内容,如果未能解决你的问题,请参考以下文章

tomcat的缺省servlet如何处理静态资源

SpringBoot配置图片虚拟映射

SpringBoot配置图片虚拟映射

SpringBoot配置静态资源访问与本地路径的映射

给tomcat配置外部资源路径(应用场景:web项目访问图片视频等资源)

Tomcat配置虚拟路径访问容器外的硬盘资源