Java——重定向与请求转发

重定向(Redirect)

所谓重定向就是接收到你的请求后返还给你另一个请求地址,你继续访问。比如,张三给我借钱,我是妻管严,手里没有零花钱,但是我知道李四有钱,于是我告诉你向李四借钱,此时你向我发出的请求得到了我借不了的回应并告诉你谁可以借给你,于是你又向李四发起请求开始借钱。 response.sendRedirect(“main.html”);
请求过程如下图:
这里是引用

请求转发(forward)

请求转发简单的说就是你发起的请求并不是一个人完成,比如你去购买一部手机,店员直接就返回你一部手机,但是这部手机可能由多个人或公司一起完成,而你向店员发起的请求只是你购买一部手机,其生产手机便由内部人员完成,具体过程你不用知道。request.getRequestDispatcher(“main.html”).forward(req,resp);
请求过程如下图:
在这里插入图片描述

重定向与请求转发的不同点

  1. 语法不同:
    重定向: response.sendRedirect(“main.html”);
    请求转发:request.getRequestDispatcher(“main.html”).forward(req,resp);
  2. 请求次数不同:
    重定向服务器一共发起了两次请求
    请求转发只发起了一次请求
  3. 是否共享请求域中的值(Request域)
    重定向因为发送了2次去请求,所以Request中存储的值,不能跨请求共享!
    请求转发是服务器内部跳转,使用的是同一个request对象,所以可以共享request中的值!

提示

以上只是我自己的看法,如有相同纯属意外。如有错误,也请谅解,勿喷!如有收获或疑问,欢迎点赞评论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值