上图是项目的结构。我想在主页面index.jsp页面获取avatar.png这张图,在页面里使用<img src="/pages/assets/avatars/avatar.png">获取,在Eclipse编辑时,用ctrl加鼠标左键,能点进去获取到图片。然而在浏览器通过http://localhost:8080/webtest/这个地址获取时,并没有显示出图片。
首先,图片不显示,肯定是路径出了问题,所以,首要问题是,检查路径!
怎么查看哪里出错呢?我们应该先搞清楚,页面上的这个地址究竟是指到哪里的。在浏览器页面右键图片,复制图片地址,然后粘贴,会发现地址是http://localhost:8080/pages/assets/avatars/avatar.png。奇怪了!
仔细观察,最终发现,笔者在浏览器输入的地址是http://localhost:8080/webtest/(能直接转到index.jsp是通过web.xml设置首页),根据这个地址,当前所在的是项目根目录下,并不是在index.jsp路径。所以使用相对路径试试:<img src="pages/assets/avatars/avatar.png">,发现竟然成功了!
总结下:先查看下当前页面所在的路径,然后据此写出资源的所在路径。