Java Web项目访问非/web路径下的文件资源

【问题描述】

在做一个基于SSH框架的后台系统时,需要在页面显示非/web目录下的文件资源。按照常理,访问web文件夹下的资源只需要通过localhost:8080/img/1.jpg就可以访问,但是如果1.jpg在其它路径下,此方法就行不通。

举个栗子:

现在的文件目录如下

Java Web项目访问非/web路径下的文件资源_第1张图片

访问web/courseImg文件夹下的1.jpg 可以 直接通过URL:localhost:8080/courseImg/1.jpg访问

但是访问src/Image/refPic/001.jpg就 不能 通过URL:localhost:8080/Image/refPic/001.jpg访问

【解决】

本人使用IDEA编辑器开发,可以采用配置Tomcat的虚拟路径实现访问文件资源。

简单来说,就是通过配置一个路径,让Tomcat收到这个路径对应的请求后不是去Tomcat的目录下找这个资源,而是找这个路径映射的资源。

STEP1. 打开Tomcat配置,注意Deploy applications configured in Tomcat instance 不要 勾选

Java Web项目访问非/web路径下的文件资源_第2张图片

STEP2. 切换到Deployment选项卡,按“+”,选择External Source,选择要访问的外部资源,如上面栗子的/Users/xxx/Desktop/YOGA/src/Image/refPic, 配置旁边的Application Context,如"/refPic",以后就是通过/refPic来访问此文件夹。

Java Web项目访问非/web路径下的文件资源_第3张图片

STEP3. 配置完成,重新部署Tomcat看看效果吧~

 

你可能感兴趣的:(Java Web项目访问非/web路径下的文件资源)