一文读懂tomcat配置虚拟路径,访问图片地址 - GXUZF.COM - 林澈思的茶

一文读懂tomcat配置虚拟路径,访问图片地址

分类:折腾 ; 热度:2400 ; 最后更新于2020 年 02 月 14 日

一些项目中往往需要上传一些图片文件之类,一般不建议直接保存在数据库内,往往是将图片等资源保存在服务器的某个文件夹下,传统做法是上传到部署目录下,通过相对路径进行访问。这样当我们系统需要进行升级,进行全量更新的时候,就需要我们先将静态资源拷贝出来,然后项目部署成功之后又复制进部署目录。为了以后软件版本升级的方便,这时就需要这些静态资源放置在服务器tomcat目录外面。

1。 配置tomcat的虚拟映射路径:
在tomcat中找到 server.xml (conf/service.xml)

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">
<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" />
<!-- 设置图片虚拟路径[访问时路径为/photo] 这个时候tomcat会自动去配置的路径下找这张图片,虚拟路径可以配置多个 --> <Context path="/photo" docBase="D:upFiles" reloadable="true" /> <!-- 也可以这样设置图片虚拟路径 --> </Host>

其中path是映射的虚拟路径(可视具体情况配置),docBase是静态资源存放的真实物理路径,reloadable指有文件更新时,是否重新加载,一般设置为true后,tomcat不需要重启启动,自动热加载!
注意:

<Context path="/photo" docBase="D:upFiles" reloadable="true" />

path指的是网页的映射路径,也就是访问路径tomcat会自动处理这个路径当检查到这个路径的时候,他就会去D盘下找upFiles文件夹
eg:
访问链接:localhost/photo/meizi.jpg 则tomcat会找D:upFilesmeizi.jpg

如果你将war包直接放在这个tomcat下,就可以正常的拿到图片,但是如过使用了开发工具就会不一样,且往下看。

如果你是外部的tomcat在eclipse/myeclipse中,那么你还要这样配置:

在eclipse中配置Tomcat,会在workpace中生成一个server文件,生效的其实是这个文件,而不是外面的那个文件,所以就找到问题了,将上面的配置复制进来即可。

你还需要在这里配置下路径,见下图:

file

这样就可以,但是有的童鞋使用的idea,那你需要这样配置:

file

还有一种情况就是使用maven插件的tomcat,那这个怎么配置呢?具体我还没有实验成功。。。。

未完,待续。。。

转载自好好网,原文链接https://www.haohaowang.top/article/106


评论卡