maven项目中jsp页面获取本地磁盘的图片显示不出?需要设置虚拟路径

maven项目中jsp页面如何获取本地磁盘的图片并显示

今天研究了很久如何在jsp页面显示本地图片,也百度了很多文章,不断试错之后终于弄出了图片,我百度到的核心文章来源于:https://www.cnblogs.com/blogxiao/p/8034453.html

我今天主要是做了一个类似于自动生成钉钉头像的功能,生成的头像我把它的保存路径设置到了本地磁盘,但是因为没有配置好,导致不是出现GET http://localhost:8080/pic/4T520.jpg的问题,就是出现服务器访问错误的问题。

解决办法

分3步:

  1. 找到server.xml文件 ,首先找一下你的项目配置的tomcat文件的位置,比如我的是在E:\apache-tomcat-8.5.35\conf路径下面;
    在这里插入图片描述
  2. 在文件中找到host标签,在host标签之间加入以下代码;

   <Context docBase="D:/pic/" path="/pic" reloadable="true" />

docBase:本地磁盘路径(存放图片的路径)
path:虚拟路径(名字随便设)
一开始我也是这么加的,但是出错了,一直访问不到图片,后来百度到那篇核心文章后就跟着又加了几步,大家可以按照上面的代码改一下,如果不行就加入接下来的步骤:
(1)打开本地文件host.txt,路径是C:\Windows\System32\drivers\etc\host.txt,然后加入

127.0.0.1  www.image.com

在这里插入图片描述
www.image.com这个网址是自己设置 ,用这个也没关系。然后用ping再测试一下(开始–附件–命令提示符)
在这里插入图片描述
(2)测试成功后将server.xml文件中改成以下这个样子:
在这里插入图片描述

<Host appBase="" autoDeploy="true" name="www.image.com"  unpackWARs="true">
   <Context crossContext="true" path="/pic" docBase="e:\pic\"  reloadable="true"  >
	  </Context>
</Host>

整段host代码都需要添加进去,上面有一个host标签,那个是localhost的配置,现在要单独加入www.image.com图片虚拟路径的配置,我之前将图片的访问路径放到localhost的host标签里面结果就错了。

3.jsp页面的写法

 <img src="/pic/4T520.jpg">

/pic是自己再server.xml中设置的虚拟名称,后面只需跟图片名称就可以啦!
如果是加了www.image.com配置的就需要再jsp页面中再加入一行代码:

<c:set var="ctxImg" value="http://www.image.com:8080" scope="request"/>

var=“ctxImg” 是自己设置的引用名称(随便设)
value=“http://www.image.com:8080” 是引用值,就是加载图片会根据这个路径。8080是tomcat端口号,自己运行项目是用的什么端口号就用什么端口号。
然后img标签上也要修改

<img src="${ctxImg}/pic/4T520.jpg" >

这样改完就差不多了。下面是我的效果截图:
在这里插入图片描述
在这里插入图片描述
如果还有其他问题欢迎大家指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值