问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

redirect和forward的区别

发布网友 发布时间:2022-05-04 19:11

我来回答

1个回答

热心网友 时间:2022-04-20 09:53

一、调用方式

我们知道,在servlet中调用转发、重定向的语句如下:

request.getRequestDispatcher("new.jsp").forward(request, response); //转发到new.jsp

response.sendRedirect("new.jsp"); //重定向到new.jsp

在jsp页面中你也会看到通过下面的方式实现转发:

当然也可以在jsp页面中实现重定向:

<%response.sendRedirect("new.jsp"); %> //重定向到new.jsp

二、本质区别

解释一

一句话,转发是服务器行为,重定向是客户端行为。为什么这样说呢,这就要看两个动作的工作流程:

转发过程:客户浏览器发送http请求——》web服务器接受此请求——》调用内部的一个方
法在容器内部完成请求处理和转发动作——》将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上
去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为
是浏览器只做了一次访问请求。

重定向过程:客户浏览器发送http请求——》web服务器接受后发送302状态码响应及对
应新的location给客户浏览器——》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址——》
服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的
概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。

解释二

重定向,其实是两次request

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

例子:

response.sendRedirect("loginsuccess.jsp");

请求转发是服务器内部把对一个request/response的处理权,移交给另外一个

对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。传输的信息不会丢失。

例子:

RequestDispatcher dis=request.getRequestDispatcher(“loginsuccess.jsp”);

Dis.forward(request,response);

解释三

假设你去办理某个执照

重定向:你先去了A局,A局的人说:“这个事情不归我们管,去B局”,然后,你就从A退了出来,自己乘车去了B局。

转发:你先去了A局,A局看了以后,知道这个事情其实应该B局来管,但是他没有把你退回来,而是让你坐一会儿,自己到后面办公室联系了B的人,让他们办好后,送了过来。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 简述forward和 redirect的区别 什么胶水常温下不粘,遇水即有粘性, web开发过程中redirect和forward有什么区别 哈工大 作息时间 jsp中“forward”和“redirect”的区别是什么? forward和redirect的区别? 有哪位高人知道,什么胶水涂覆到一个物体上,烤干后没有粘性,遇水就会与粘性呢? java:forward 和redirect的区别是什么? 我买的东贝冰淇淋机开始打出来的挺好,为什么过一会打不出来了 东贝冰淇淋机不停的工作是什么原因 东贝冰淇淋机ckx300开机按清洗健会发出滴滴声音然后停机是什么回事? 东贝冰淇淋机器制冷的问题 物业公司维修人员怎样倒班 东贝冰淇淋机机身中间有一小孔漏水怎么回事呀 你好 请问有完整版的公司规章制度么 在冰淇淋机中,华恒的好还是东贝的好呢? 作息时间表的美国作息是什么? 我家的冰淇淋机是东贝的,制冷硬度一共分10级,我想问一下正常应该定在几级? 东贝冰淇淋机CKX200键失灵是什么原因 东贝BJK和东贝ckx哪个好 怎么安排合适的作息制度 servlet中forward()和redirect()的区别 JAVA常见面试题之Forward和Redirect的区别 JSP中forward和redirect有什么区别 如何用html代码实现网页上下居中? 淳化元宝,背双佛像铜钱,不知是真假,求解 淳化元宝背双佛铜钱值多少钱 淳化元宝背双佛铜钱有真品吗?如果有价值多少? 微信发说说上传不了图片怎么回事 我有一个淳化元宝背双佛像铜钱,不知是不是真的,求解? 我的微信说说怎么发不了相片了 铜钱道元化宝上有两个小佛,这个铜钱是什么年代的? 淳化元宝背双佛铜钱大师能帮忙鉴定一下吗? 微信粘贴说说发不出去怎么回事 淳化元宝背双佛铜钱值多少钱? 俄罗斯及中亚五国都有什么特色干果? 怎么铜钱上有2个佛像那是什么铜钱 天德通宝背双佛铜钱价格? 正面是淳化元宝背面俩佛铜钱值多少钱 淳化元宝铜币,背双佛,楷书隶意,跪求专家辨别真伪。