案例说明:数据库可以存储图片,但是相当耗费内存,怎么办呢?在数据库中存储图片的相对路径,访问资源时使用相对路径访问。
两种方法
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又无法正常访问图片了