问题描述
今天,在学习jsp时遇到了一个很奇怪又很经典的问题,
即静态文件(如图片)加载不出。
这是我的路径,这个地址是对的,我的图片就放在上一级目录的pic文件夹下但还是报错
<img src="../pic/500.png" alt="错误"/>
通过控制台看一下错误的原因,
可以看到图片404错误,一般我们的URL应该是"http://localhost:8080/"+“你的项目名”+"/请求路径",
而上图中的URL却少了项目名导致了404.
解决方法
方法一
获取
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
修改图片的地址
<img src="<%=basePath%>/pic/500.png" alt="500错误"/>
图片出现,成功了
将图片地址改成这样也行(推荐),读者可以尝试一下
<img src="pic/500.png" alt="500错误">
再看控制台,可以发现,图片的请求地址URL正确。
方法二
直接将图片地址改成
<img src="${pageContext.request.contextPath}/pic/500.png" alt="错误">