java重定向和请求转发(即内部服务器转发)

重定向和内部转发(请求转发):

重定向: response.sendRedirect(地址)

内部转发:request.getRequestDispatcher(地址).forward(request, response);

重定向和内部转发对比:

​ 1.重定向是多次请求,而内部转发是一次请求

​ 2.重定向是客户端重新发起URL请求,所以URL地址会发生改变,但是内部转发是由服务器将请求信息和响应信息内部的传给其他类进行处理,URL不会发生变化.

​ 3.由于,重定向是由客户端发起请求,所以是客户端通过新的URL地址,获取资源,若要进行参数传递,只能在URL地址栏上进行参数拼接.而内部转发,是将整个request 传递给下一个地址,则可以将需要传递的数据放在request作用域,然后在下一个地址,从request作用域中获取数据.

​ 所以,内部转发数据传递优于重定向.

重定向和内部转发:共性: 都可以页面跳转,还可以传递数据
什么时候使用重定向什么时候使用内部转发:
  • 能使用重定向的地方一定可以使用内部转发.但是,能使用重定向就不要使用内部转发,优先使用重定向.

  • 内部转发容易造成服务器压力过大.程序无法正常运行.

  • 由于重定向是由客户端发起请求获取资源,URL地址会发生改变,每次刷新页面时,只会请求当前URL地址资源.而

内部转发,是服务器内部将请求信息进行转发,每次刷新时,会从当前URL地址发起请求,期间所有相关的程序都会重新

加载执行一遍.这样无形增加服务器压力,且容易出现运算异常。
重定向和内部转发

总结:

   1、转发是在服务器端完成的,重定向是在客户端发生的;

   2、转发的速度快,重定向速度慢;

   3、转发是同一次请求,重定向是两次请求;

   4、转发地址栏没有变化,重定向地址栏有变化;

   5、转发必须是在同一台服务器下完成,重定向可以在不同的服务器下完成。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樂小伍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值