response.sendRedirect的路径

来源:5-1 课程总结

QQ71

2021-02-04 19:05:05

问题描述:

response.sendRedirect路径是从什么地方开始的?

为什么在DefaultController想跳转到 localhost:8080/toLogin.do时是response.sendRedirect("toLogin.do")

而在CakeController中想跳转到 localhost:8080/admin/Cake/list.do也是

response.sendRedirect("list.do")而不是response.sendRedirect("/admin/Cake/list.do")呢?



写回答

1回答

好帮手慕阿园

2021-02-05

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

1、在DefaultController中的toLogin.do,会去找当前路径下的地址,比如当前路径下的toLogin.do,跳转地址是http://localhost:8080/toLogin.do

http://img.mukewang.com/climg/601cadb709a5fc5d05720472.jpg

2、也可以写成/admin/Cake/list.do,这里list.do和/admin/Cake/list.do效果是一样的。如果以“/”开头的路径是从当前项目的web根目录开始的绝对路径,当前的web项目的上下文路径为“/”,也就是说请求路径会变为“http://localhost:8080/admin/Cake/list.do”

list.do是相对路径,基于的是localhost:8080/admin/Cake/。而/admin/Cake/list.do是根路径,是基于localhost:8080

http://img.mukewang.com/climg/601cade409b4de5805170514.jpg

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

祝学习愉快~

0

0 学习 · 8016 问题

查看课程