JAVA基础之JSP请求转发和重定向

请求转发:getRequestDispatch(String path).forward(request,response)

请求转发和重定向都是页面跳转

重定向:sendRedirect(url)

1.请求转发相当于是张三找李四借钱,但是李四没钱,李四就跑去银行借钱,再把钱借给张三,这里张三值发送了一次请求,但是至少经历了两次转发才拿到钱,但是是从李四手里拿到的钱,所以他的借钱目的人就是李四,向银行借钱这部操作是李四自身进行的,与张三无关

2.重定向相当于是张三找李四借钱,但是李四没钱,李四告诉李三可以去银行借钱,张三又跑去银行把钱借了出来,这里张三发送了两次借钱的请求,但是第一次没有借钱成功,第二次才从银行里拿到钱,所以他的借钱人就是银行

3.转发和重定向的区别

1.请求转发属于内部跳转,服务器内部转发,整个过程处于同一个请求当中,不可以跳到其他网站,只能在同一个网站内跳不同的页面

2.重定向则是站外跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。不在同一个请求。重定向,实际上客户端会向服务器端发送两个请求

3…取值

请求转发(站内跳转):可以获取保存在request作用域中的数据

重定向(站外跳转): 不能获取保存在request作用域中的数据

4.地址栏

请求转发(站内跳转):地址栏不发生变化

重定向(站外跳转):地址栏显示跳转页面路径

5.请求次数

请求转发(站内跳转):仅发起一次请求,所以可以获取到保存在request中的数据

重定向(站外跳转):发起多次请求,所以不能获取request中的数据

6.性能(效率)

站外跳转): 不能获取保存在request作用域中的数据

4.地址栏

请求转发(站内跳转):地址栏不发生变化

重定向(站外跳转):地址栏显示跳转页面路径

5.请求次数

请求转发(站内跳转):仅发起一次请求,所以可以获取到保存在request中的数据

重定向(站外跳转):发起多次请求,所以不能获取request中的数据

6.性能(效率)

请求转发(站内跳转) > 重定向(站外跳转)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值