jsp上传图片到tomcat,图片无法显示的问题
1.前言
不管是web项目,使用jsp上传图片,或者是使用ssm框架来上传图片,或是servlet + jsp 传统方式来上传图片到tomcat服务器。经常出现一个问题,就是图片无法显示的问题。
图示:
2.解决方案:
常规问题:
1. 检查图片路径,不管你是使用的相对路径,还是用的绝对路径, 如<img src=”${pageContext.servletContext.contextPath}/images/loginBG.jpg”/>,一般来说,图片显示不出来,百分之八十都是路径错误,你可以打印上传路径到控制台看看,如果是null,那么就是路径的问题,对比你的项目看你的路径是不是有问题?
图示:
这种情况,就是上传的路径根本不对,解决方法在下面。
2. 检查你的拼写问题,比如单词的大小写,包括*.jpg 不能写成 *.JPG了。
非正常问题:
3.上述都没有错误,但是图片还是上传不显示,而且eclipse等后台不报错,一切正常。
查看一个地方:你设置的上传路径那里,有没有加前缀!!! 因为路径是本地的文件夹下,不会自动加入前缀:
如:所以,需要加上: 前缀 \
修改后查看控制台输出path:
运行项目就可以查看路径正确了,图片显示了:
4.不要将images放在WEB-INF目录下,直接放在根目录下,因为web-inf目录客户机是无法访问的,只有通过在web.xml中配置才能访问,jsp动态生成的静态页面的上一级就是根目录,所以直接用:
<img src="{pageContext.servletContext.contextPath}/upload/1.jpg"
而不是:
img src="${pageContext.servletContext.contextPath}/WEB-INF/upload/1.jpg"
图示:
上述几种方法是针对于jsp上传图片到tomcat,图片无法显示的问题。