详细说明 jsp中forward和sendRedirect 区别

forward和sendRedirect的区别
forward:
1、服务器端在起作用,只是发送一次request请求
2、是servlet容器将http请求从当前servlet或者jsp传递到下一个servlet或者jsp。
3、重定向后地址栏中的URL不会发生变化。
sendRedirect:
1、在客户端作的重定向处理(该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL提出请求,使浏览器显示重定向网页的内容。),发送两次request请求
2、当前的servlet或者jsp请求内容不会被传递
3、地址栏中显示重定向后的url。

sendRedirect能够处理相对URL,自动把它们转换成绝对URL,如果地址是相对的,没有一个‘/’,那么Web container就认为它是相对于当前的请求URI的。
比如:如果为response.sendRedirect("login.jsp"),则会从当前servlet 的URL路径下找login.jsp: http://10.1.18.8:8081/dms/servlet/Servlet 重定向的URL: http://10.1.18.8:8081/dms/servlet/login.jsp,
如果为response.sendRedirect("/login.jsp")则会从当前应用径下查找url:http://10.1.18.8:8081/login.jsp。
而forward不能这样处理相对路径。

http header请求内容:
forward:
[img]http://dl.iteye.com/upload/attachment/495424/c3fd7adf-7239-37a9-95fb-8e1f4625156c.png[/img]

sendRedirect:

[img]http://dl.iteye.com/upload/attachment/495426/cd5b2f38-196d-3cbe-954e-7463aaf8ace3.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值