为了账号安全,请及时绑定邮箱和手机立即绑定

servlet路径跳转那节问题

在重定向跳转中,response.sendRedirct(request.getContextPath()+"/test.jsp");可以

那么用response.sendRedirct("../test.jsp");这种相对路径行吗?

还有,在服务器内部跳转为什么是request.getRequestDispatche,而不是response....

正在回答

2 回答

相对路径地址,会从当前请求的地址计算.

比如你在你的工程,请求 192.168.1.1:8080/context/test1/test2/first.do

在first.do里跳转到绝对路径

request.getContextPath()+"/test.jsp"

相当于,再次请求 192.168.1.1:8080/context/test.jsp

而response.sendRedirct("../test.jsp"); 中../会往上走一层. 变成了请求

192.168.1.1:8080/context/test1/test.jsp

所以相对路径和绝对路径不一定一致的,要看你的实际目录了..


至于request.getRequestDispatche.foward()
其实他是重新定位一个本地资源..把这个资源加载到内存.,重新生成响应的内容.然后才会把内容response.


Redirct不是重新定位一个资源.而是 直接把响应内容302发回到了,重新去访问了另外一个地址.




0 回复 有任何疑惑可以回复我~
#1

callme激流 提问者

非常感谢!
2015-02-04 回复 有任何疑惑可以回复我~

最后一句补一下:直接把响应内容302发回到了浏览器端

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

servlet路径跳转那节问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信