WEB-INF下jsp请求转发

WEB-INF下jsp请求转发

问题描述:

老师您好,当jsp文件放在WEB-INF目录下,其文件地址已改变,相应的相对路径也会改变,为什么通过请求转发到jsp下图片还能正常加载「图片的目录不在WEB-INF下,通过相对路径"image\logo.png"为什么还会加载相应图片」

相关截图:

http://img1.sycdn.imooc.com//climg/60a5fe9b087aa91722201244.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,请求 http://localhost:8080/page后,会转发到/WEB-INF/jsp/index.jsp页面。转发不会修改地址栏中的地址,当前index.jsp页面的相对路径是 http://localhost:8080/ 。

<img src="image/logo.png"> 是相对路径的写法,结合index.jsp页面的相对路径,拼接出来图片的请求地址就是http://localhost:8080/image/logo.png,且项目发布后,WebContent就是根目录,也就是说,WebContent相当于/,又由于WebContent下有image目录,image目录下有logo.png图片,所以相对路径应该是这样写的。

祝学习愉快~


  • 今天也要学习呢 提问者 #1

    谢谢老师详细解答,所以说相对路径不是针对使用相对路径的文件「如index.jsp」,而是针对发过来的requset请求而言的,这样理解对么

    2021-05-21 11:51:38
  • 同学你好,理解有误,简单理解就是:相对路径是相对于当前访问路径,是项目发布后的访问路径。例如:

    浏览器中访问时,page和image是同级目录,访问svg,png文件时,从当前路径访问即可,如下:

    http://img1.sycdn.imooc.com//climg/60a74d0209f27cfd08210658.jpg

    祝学习愉快~

    2021-05-21 14:04:42
好帮手慕小班 2021-05-20 17:29:06

同学你好,这里使用的是相对路径会生成的地址:原来请求地址(去除同级目录)+当前路径生成完整的URL,比如:

http://img1.sycdn.imooc.com//climg/60a62b0f09d7072a06910597.jpg

祝学习愉快!

  • 提问者 今天也要学习呢 #1

    相对路径会生成的地址:原来请求地址(去除同级目录)+当前路径生成完整的URL

    老师没明白您说的意思,辛苦您详细解释一下

    我理解相对路径不是针对使用相对路径的文件而言的么,比如文件A在目录a下,那文件A内相对路径"/image/logo.png"对应的应该是"a/image/logo.png",

    2021-05-20 21:15:58
  • 同学你好,

    1、原来请求地址+参数生成完整的URL也就是:http://localhost:8080/image/logo.png

    2、相对路径∶是从当前路径开始的路径,这里同学举例是正确的,但有一点小问题,文件A没有体现

    祝学习愉快~

    2021-05-21 10:12:38
  • 老师我开始的疑问您并没有解答呀,
    那这里index.jsp在WEB-INF目录下的jsp文件夹内,所以在index.jsp内使用相对引用应该是针对jsp文件夹内,如 src="image\logo.png" 指定路径应该是 "WEB-INF/jsp/image\logo.png",实际image文件夹在WebContent下,即"WebContent/image/",

    「图片的目录不在WEB-INF下,通过相对路径"image\logo.png"为什么还会加载相应图片」

    ​请问**这里路径并不一致为什么能正常加载图片呢**

    2021-05-21 10:32:29
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师