tomcat下访问另一个工程中的文件

问题描述:在远程服务器的tomcat/webapps文件下有两个项目,xunjian和water。xunjian是web工程,water是APP接口。在web上访问water下的照片。

参考:https://www.cnblogs.com/eoooxy/p/6085255.html

         https://blog.****.net/tuntun1120/article/details/64126278

在jsp页面不能直接写绝对路径,因为浏览器处于安全考虑不允许加载本地资源

解决办法:在Tomcat的server.xml中配置虚拟路径

路径信息:Tomcat安装路径下的conf文件夹  (D:\Tomcat\apache-tomcat-7.0.73\conf)

  第一步:在server.xml文件最后的<Host></Host>内部 添加虚拟路径

<Context path="\imgFile" docBase="D:\Tomcat\apache-tomcat-8.5.23\webapps\water\WEB-INF\upload" debug="0" reloadable="true" />

  path:匹配路径开头。

  docBase:你要访问的本地资源路径信息,不包含文件!

        注意:     <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="ture" >
         <Context path="\imgFile" docBase="aaa" debug="0" reloadable="true"/>
        </Host>

   autoDeploy="false" deployOnStartup="false"这两个选项都为true的时候(一般默认autoDeploy为true)

   这时候会自动加载/部署 

      第二步:jsp页面加路径  

<img style="width:300px;height:300px" src="/imgFile/${pd.pic}" width="210">

解决问题,但要注意不要这么配


tomcat下访问另一个工程中的文件

本来数据库中pic的路径为:\WEB-INF\upload\11B2.jpg   所以我路径写到water,但访问不了,可能是因为water是项目名,path不能等于“\water”?