前端访问不到本地图片,IDEA设置Tomcat虚拟路径

时间:2024-02-20 11:34:37

案例说明:数据库可以存储图片,但是相当耗费内存,怎么办呢?在数据库中存储图片的相对路径,访问资源时使用相对路径访问。

两种方法

1:图片存储在项目内,使用相对路径访问,该方法使用简单,但是,这样会造成项目体积急剧增大,可移植性变差,也不安全。

2:图片存储在单独的容量大的外存,使用绝对路径读取图片。

当启动一个部署在Tomcat的Web项目时,可以访使用相对路径或者绝对路径访问到项目内的资源;

但是当你想要访问本地资源时,你该怎么做?那就是设置Tomcat的虚拟路径。

方法一:

Tomcat的配置文件server.xml的<Host></Host>节点内添加如下配置

<Context docBase="D:\aaa\bbb" path="/resources" reloadable="true"/>

注:docBase="D:\aaa\bbb"是文件存放的物理地址,path="/resource" 是虚拟路径

若从数据库中读取的路径为 "\resources\ccc\ddd",经过docBase转换后实际访问地址为 "D:\aaa\bbb\ccc\ddd",即将虚拟路径用实际物理地址替换

IDEA在tomcat的设置中勾选deplo...

 

方法二:

在IDEA的tomcat设置中取消勾选方法一的deplo...选项

在deploment设置中添加实际物理路径和虚拟路径

 

 

两种方法任选其一即可在前端访问本地图片。

 

方法一弊端:无论什么时候运行,tomcat都会替换掉你使用的虚拟路径

方法二弊端:离开IDEA又无法正常访问图片了