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">
解决问题,但要注意不要这么配
本来数据库中pic的路径为:\WEB-INF\upload\11B2.jpg 所以我路径写到water,但访问不了,可能是因为water是项目名,path不能等于“\water”?