我是靠谱客的博主 阳光橘子,最近开发中收集的这篇文章主要介绍给tomcat项目访问工程以外的静态文件资源,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

有这样一个需求:一个传统的项目,文件都是存储在Oracle数据库中或电脑指定硬盘,随着时间和用户翻雪球似的量变,Oracle文件表因为太大,查询性能十分差;而存储在硬盘的文件内存也即将满了,电脑硬盘扩容是个大问题,如果要迁移文件吧,之前的文件就不能按照之前的路径去访问查看了。改造工程迫在眉睫,托尼老师打算这样来:

1.为了方便扩容和数据迁移,存储介质改成共享磁盘,就挂载在项目的服务器,把原有的文件资源拷贝到共享磁盘。

2.换了一种新的存储方式,项目怎么才能访问到这些静态的文件资源呢,文件又不在工程底下,怎么做映射才能让用户访问到这些资源,成了改造的一大难题。

3.既然是换了一种新的存储方式,做文件的映射只能在tomcat服务器或nginx服务器上下功夫了,由于是传统的老项目,系统部署并非分布式,是单节点服务,所以只能配置tomcat了。

4.配置方式

4.1 找出挂载磁盘的文件路径,这里的路径是: /zdgyt/share

4.2 进入tomcat的conf目录,修改server.xml

<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="/file" docBase="/zdgyt/share" debug="0" reloadable="true"></Context>
</Host>

4.3 重启tomcat,这里访问路径https://域名/file/相当路径/文件名 ,就可以直接访问静态文件了,例如: https://xxxx.xxxx.com/file/images/RpAudit/20200429104833_5794.jpg

最后

以上就是阳光橘子为你收集整理的给tomcat项目访问工程以外的静态文件资源的全部内容,希望文章能够帮你解决给tomcat项目访问工程以外的静态文件资源所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部