springmvc之redirect重定向

本文详细介绍了Java类中跳转链接的两种方式:forward与redirect的区别,包括请求处理过程、效率、数据共享能力及应用场景。重点讨论了forward适合于请求主页面、登陆成功后的角色访问不同功能,而redirect则适用于用户注销后返回主页面的情况。

java类中跳转链接的方式有两种一种是forword,一种是redirect。

forword是请求服务器资源,是服务器直接访问目标地址的url,把url相应的信息返回给浏览器。然而浏览器并不知道url的地址,所以说地址还是原来的地址。

redirect是服务器端根据逻辑代码返回一个状态码,告诉浏览器去访问最新的url地址。


数据库上说

forword请求的话访问的地址,可以接受request请求的参数。

redirect的话不能共享数据。


运用上面:

forword一般用于请求主页面,登陆成功后,通过用户的角色访问不同的功能。

redirect的话主要用于用户注销操作后跳转主页面的操作。


效率上


forword的效率高

redirect效率低


重定向,其实是两次request, 
第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。 

例子: 


请求转发是服务器内部把对一个request/response的处理权,移交给另外一个 
对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。 传输的信息不会丢失。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值