为什么响应重定向这里写list.do,而不是写/department/list.do?

正在回答

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

1回答

同学你好,项目发布到Tomcat中后,webapp和java这个层级下的内容都可以理解为根目录下的代码,而且项目是根据浏览器地址进行的。

    1、response.sendRedirect("list.do");

    list.do的上一级目录是/department, 返回上一级目录就是从 sm开始了。如果不写返回上一层目录,就是还是在当前的/department的基础上进行访问的。

http://img1.sycdn.imooc.com//climg/5f72cb99099076fb04690033.jpg

所以重定向到list.do ,实际上还是访问的http://localhost:8080/department/list.do

    2、如果你用的是相对路径,如果你当前就是在response.sendRedirect("list.do")

http://img1.sycdn.imooc.com//climg/5f72cc39092838a906040176.jpg

在这个/department 下,那么,相对于它你在去访问list.do 它就会去访问这个路径下的list.do。要注意不要写成 /list.do  前边加了/ 就是绝对路径了,访问起来就是http://localhost:8080/list.do  了

    3、重定向的时候,实际上是要全部的路径的,如果你写出绝对路径,比如(http://localhost:8080会自动帮你补全的,绝对路径最前边加/)

response.sendRedirect("/sm/department/list.do");//这样也是可以的。

路径问题情况比较多,这里也需要同学慢慢的积累经验哦。

如果我的回答解决了你的疑问,请采纳,祝学习愉快。

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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