java中转发和重定向的区别

java中转发和重定向的区别....详细。越详细越好!... java中转发和重定向的区别....详细。越详细越好! 展开
 我来答
cyc0119
2013-04-05 · TA获得超过411个赞
知道答主
回答量:71
采纳率:0%
帮助的人:39.1万
展开全部
转发:
request.getRequestDispatcher("success.jsp").forward(request,response);

在服务器组件收到用户请求后。经过它的处理后有传递给了另一个组件。不修改用户的请求码。各组件处理完之后在返回给用户,例如主页面的框架。

用户请求-----》服务器-------》组件1-------》组件2------->服务器-------》用户

(请求不变)

重定向:
response.sendRedirect("success.jsp");

在服务器组件收到用户请求后。经过处理修改用户请求。在返回给用户。这样用户再次使用这个请求就会被动的使用新的请求了。(重定向一般是为了防止用户提交完数据后点浏览器刷新或点后退之后产生重复提交)

用户请求-----》服务器-------》组件------>服务器-------》用户-------》新的请求

(修改用户请求)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游上天堂的鱼
2017-11-12
知道答主
回答量:21
采纳率:66%
帮助的人:7.6万
展开全部
转发:一次请求,地址栏不会变,效率更高,只能跳转本项目
重定向:两次请求,地址栏会变成第二次请求的地址,效率稍低,可以跳转任何项目
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秋绛冰
2013-04-07
知道答主
回答量:14
采纳率:0%
帮助的人:4.6万
展开全部
转发你注意一下地址栏的地址是不变的,request.getRequestDispatcher("success.jsp").forward(request,response);转发请求到达servlet或者action获取请求参数(如果有)完成相应的业务逻辑,然后输出相应界面,这时是带着返回数据的(如果有),返回数据在request或者response,相应页面会输出相应数据,如果你的响应是有返回数据的,必须用转发。
重定向你注意一下地址栏的地址不是你发送请求的地址,最终会变化成你重定向的地址
response.sendRedirect("success.jsp"); 重定向发送请求到达servlet或者action接收请求参数处理相关的业务逻辑之后,会清除request和response中的数据,到达重定向的页面是不能够接收和显示数据的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-06
展开全部
转发:首先地址URL不会改变..其次转发forward需要传两个参数request和response 可以在转发后的页面通过request.getParameter()取值...
重定向:重定向的URL地址会改变成重定向后的页面的URL,并且没有参数传递。不能通过request.getParameter()取值....只能通过seesion,application等来取值...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慷慨又通顺的彩旗d403
2013-04-05
知道答主
回答量:27
采纳率:0%
帮助的人:8.8万
展开全部
转发是客户端一次请求 重定向是客户端二次请求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式