sendRedirect和<jsp:forward>的区别

sendRedirect和<jsp:forward>的区别主要有以下五点:

1、response.sendredirect()会在客户端呈现跳转后的URL地址,这种跳转称为客户端跳转。使用response.sendredirect()方法将重定向的URL发送到客户端,浏览器再根据这个URL重新发起请求。所以用这个方法时,在浏览器地址栏上会看到新的请求资源的地址。并且这时的request和response都与第一次的不一样了,因为产生了新的request和response。

2、使用<jsp:forward>完全是在服务器上进行,浏览器地址栏中的地址保持不变,这种跳转称为服务器端跳转。所以使用这个方法时没有产生新的request和response,因为request没有变,在同一个请求内,可以用request来传递参数。

3、response.sendRedirect()方法想带参数的话,在地址中写成xxx.jsp?param1=aaa&…这种形式传递参数。<jsp:forward>能够使用<jsp:param/>标签向目标文件传送参数和值,目标文件必须是一个动态的文件,能够处理参数。

4、<jsp:forward>后面的语句不会被执行,也不会继续发送到客户端;
response.sendRedirect()方法后面的语句会继续执行,除非语句前面有return。

5、<jsp:forward>是在服务器的内部进行转换,只发送给客户端最后转到的页面,速度会比较快; response.sendRedirect()方法需要服务器与客户端之间的往返,可以转到任何页面,包括网络有效域名,但速度比较慢。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值