小生活网 > 教育培训 > 电脑培训

长沙千锋Java培训分享:Forward和Redirect的区别

发布:2019年07月25日编号:2056-470192
小生活网提醒您:1、在办理服务前请确认对方资质, 夸大的宣传和承诺不要轻信!2.任何要求预付定金、汇款至个人银行账户等方式均存在风险,谨防上当受骗!
详细描述


用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的欢迎www.xbaixing.com。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有何区别呢?本文将由千锋Java培训老师跟大家分享一下。

一、从定义上看:

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址来自www.xbaixing.com

  redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址。所以地址栏显示的是新的URL。所以redirect等于客户端向服务器端发出两次request,同时也接受两次responsex.b.a.i.x.i.n.g.c.o.m

二、从原理上看:

    Forward(直接转发方式)用的更多一些,一般说的请求转发指的就是直接转发方式。Web应用程序大多会有一个控制器。由控制器来控制请求应该转发给那个信息资源原文www.xbaixing.com。然后由这些信息资源处理请求,处理完以后还可能转发给另外的信息资源来返回给用户,这个过程就是经典的MVC模式。

Redirect(间接转发方式),有时也叫重定向,它一般用于避免用户的非正常访问。例如:用户在没有登录的情况下访问后台资源,Servlet可以将该HTTP请求重定向到登录页面,让用户登录以后再访问小_百_姓_网

、从工作流程上看:

forword过程:客户浏览器发送http请求--->web服务器接受此请求--->调用内部的一个方法在容器内部完成请求处理和转发动作--->将目标资源 发送给客户。

 redirect过程:客户浏览器发送http请求--->web服务器接受后发送302状态码响应及对应新的location给客户浏览器--->客户浏览器发现 是302响应,则自动再发送一个新的http请求,请求url是新的location地址--->服务器根据此请求寻找资源并发送给客户。

四、从运用的地方上看

forword 一般用于用户登录的时候,根据角色转发到相应的模块;

 redirect一般用于用户注销登录时返回主页面或者跳转到其他网站小 百 姓 网

五、从效率上看:

forword效率高,而redirect效率低。

以上就是千锋Java培训机构讲师对Forward和Redirect的区别的总结介绍,欢迎大家一起交流补充!

学习java开发,可以参考千锋提供的java学习路线,该学习路线罗列了各阶段完整的java学习知识,根据千锋提供的java学习路线图,可以让你对学好java开发需要掌握的知识有个清晰的了解,并能快速入门java开发。

千锋教育:http://www.mobiletrain.org/

千锋长沙校区:http://cs.mobiletrain.org/

长沙校区地址:湖南省长沙市岳麓区麓谷企业广场A2栋三单元306号

培训咨询专线:0731-85513010/85513210

   QQ  : 1660794050

面授课程:全栈Web开发+培训、全链路设计培训、PHP全栈+服务器集群培训、JavaEE+分布式开发培训、大数据+人工智能培训、 Unity游戏开发培训、Python培训、云计算+Python运维培训、全栈软件测试培训、Android培训、iOS培训、好程序员

 

 


展开更多描述 ↓
shiji101 注册时间:2019年07月19日
该用户还发布了
精选信息
热门信息
在线留言 发送短信 拨打电话