社区
Java EE
帖子详情
response.sendRedirect和request.getRequestDispatcher().forward什么时候用哪个?
JarvisZhang87
2009-05-21 09:10:39
如题。
...全文
1650
18
打赏
收藏
response.sendRedirect和request.getRequestDispatcher().forward什么时候用哪个?
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
梦里人
2010-09-10
打赏
举报
回复
受教!UP....
esft
2009-06-25
打赏
举报
回复
up
daerqwert
2009-05-31
打赏
举报
回复
2种的区别楼上的已经说得很清楚了。在什么地方用就是看自己的需求了。具体问题具体分析。
popeyeWong
2009-05-29
打赏
举报
回复
response.sendRedirect是重定向
request.getRequestDispatcher().forward是请求转发
Nalanchuixue
2009-05-28
打赏
举报
回复
1,response.sendRedirect是重定向
2,request.getRequestDispatcher().forward是请求转发
重定向的时候只能通过?后来传值!且只能传一个值;
forward转发是你可一通过request对象来传递一个object类型的值
这就要看你的具体需求了!比如传一个数组或者是个javabean时就需要使用forward了!
个人理解!
zm_hs
2009-05-26
打赏
举报
回复
注意哦。在做删除操作时,千万不能用forward
sutku
2009-05-26
打赏
举报
回复
[Quote=引用 9 楼 yefan00 的回复:]
引用 2 楼 lgq_0714 的回复:
Servlet中的两种跳转方法:
方法一:response.sendRedirect("../success.jsp")
利用这个方法如果跳转前有request.setAttribute("a","b")的话,那么参数是传不到success.jsp,因为它在客户端重定向到success.jsp了,本质上跳了2次。所以参数失效,使用这个的时候会发现浏览器的URL地址发生了变化。
方法二:RequestDispatcher rd = getServletContext().getRequestDispatcher("/login.jsp")…
[/Quote]
支持!!!
icebergzx
2009-05-26
打赏
举报
回复
简单的说,sendRedirect 可以跨站点的
getServletContext().getRequestDispatcher("/login.jsp").forward(request,response) 不可跨站的,只能在本站点内跳转
如楼上的兄弟所说,sendRedirect 后request原先所有的参数和属性丢失,而request.getRequestDispatcher().forward 会保持原先request的参数和数据,向下进一步处理。
云霄飞车
2009-05-23
打赏
举报
回复
[Quote=引用 2 楼 lgq_0714 的回复:]
Servlet中的两种跳转方法:
方法一:response.sendRedirect("../success.jsp")
利用这个方法如果跳转前有request.setAttribute("a","b")的话,那么参数是传不到success.jsp,因为它在客户端重定向到success.jsp了,本质上跳了2次。所以参数失效,使用这个的时候会发现浏览器的URL地址发生了变化。
方法二:RequestDispatcher rd = getServletContext().getRequestDispatcher("/login.jsp"); rd.forward(request,respon…
[/Quote]
顶哈。。。
dinghun8leech
2009-05-22
打赏
举报
回复
response.sendRedirect=把地址发送到浏览器端,让浏览器再请求,这是地址栏变的原因
request.getRequestDispatcher().forward=服务端的控制权转向,等于从一个servletClass跳到另一个servletClass或jsp继续运行,最后才返回所有的结果,所以地址栏不会变
request中attribute与parameter的有效期是在一次请求后,而实际使用第一种情况后发生了再次请求,所以是attribute与parameter丢失的原因。
效率上讲1肯定不如2,但有时候你必须得用1,其他时候用2即可。
_BennyTian
2009-05-22
打赏
举报
回复
最简单的区别:
一个地址栏会变
一个地址栏不变
2:
一个能保持同一个 request
一个保存不了
qq306850549
2009-05-22
打赏
举报
回复
request.getRequestDispatcher().forward
建议用这个
jiangnan_net
2009-05-22
打赏
举报
回复
response.sendRedirect("/*.*")想想参数
request.getRequestDispatcher().forward(request,response)想想参数
知道了吧。。
Study_Work_2009
2009-05-22
打赏
举报
回复
这也有具体情况具体分析,一般用forward就可以
ty_seven
2009-05-22
打赏
举报
回复
一般用forward就行了,但是有时为了防止误刷新需要用redirect
lgq_0714
2009-05-21
打赏
举报
回复
Servlet中的两种跳转方法:
方法一:response.sendRedirect("../success.jsp")
利用这个方法如果跳转前有request.setAttribute("a","b")的话,那么参数是传不到success.jsp,因为它在客户端重定向到success.jsp了,本质上跳了2次。所以参数失效,使用这个的时候会发现浏览器的URL地址发生了变化。
方法二:RequestDispatcher rd = getServletContext().getRequestDispatcher("/login.jsp"); rd.forward(request,response); 利用这个方法跳转,参数可以被正确传送,而且效率比第一种高,IE的URL地址不变。
myairland
2009-05-21
打赏
举报
回复
response.sendRedirect是重定向
request.getRequestDispatcher().forward是请求转发
第一种方法request里的值会丢掉
http://blog.csdn.net/sky840505/archive/2009/01/05/3714909.aspx
详解
request
.get
Request
Dispatcher
().
forward
(
request
,
response
)和
response
.
send
Redirect
()的用法和区别
本文深入探讨了JSP中两种主要的跳转机制:
request
.get
Request
Dispatcher
().
forward
()和
response
.
send
Redirect
()的区别。分析了它们的工作原理,包括服务器端的转发与客户端的重定向,以及在实际开发中的应用场景和注意事项。
request
.get
Request
Dispatcher
().
forward
(
request
,
response
)和
response
.
send
Redirect
()的区别
本文详细介绍了web开发中两种常用的跳转方式:转发(
request
.get
Request
Dispatcher
().
forward
(
request
,
response
))与重定向(
response
.
send
Redirect
())。转发属于服务器内部跳转,地址栏不变,适用于数据修改等操作;重定向属于客户端跳转,地址栏改变,适用于访问外部资源。同时,文章特别强调了如何在重定向方式下传递数据。
关于
request
.get
Request
Dispatcher
().
forward
(
request
,
response
)和
response
.
send
Redirect
()的区别
本文深入探讨了Web开发中的两种主要跳转机制:请求转发和重定向。详细对比了两者在请求次数、URL变化、数据共享等方面的差异,以及它们在实际场景中的应用建议。
JSP——使用JavaBean时,实现页面跳转的多种方法讲解
request
.get
Request
Dispatcher
、
response
.
send
Redirect
、超链接、
forward
动作标记
本文详细讲解了在JSP中使用JavaBean进行页面跳转的四种方法:
response
.
send
Redirect
、超链接、
forward>和
request
.get
Request
Dispatcher
,并分析了各自的适用场景。例如,
send
Redirect
适合无数据传递的跳转,而
forward
则能保留
request
数据。
Jsp重定向(
response
.
send
Redirect
())和转发(
request
.get
Request
Dispatcher
().
forward
(
request
,r)的区别
本文探讨了JSP中重定向(
response
.
send
Redirect
())和转发(
request
.get
Request
Dispatcher
().
forward
(
request
,
response
))的区别,主要关注浏览器地址栏的变化。在转发操作中,地址栏URL保持不变,而在重定向过程中,URL会更新显示新的地址。 134636236,7337247,深度学习风格迁移实践指南,['深度学习', '计算机视觉', '图像处理', '神经网络', '风格迁移']
Java EE
67,536
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章