forward和redirect的区别

目录

 

forward和redirect的区别?

重定向redirect:

转发forward:

区别


forward和redirect的区别?

答:Forward和Redirect代表了两种请求转发方式:重定向和转发。对应到代码里,分别是RequestDispatcher类的 forward()方法和 HttpServletResponse类的sendRedirect()方法。

重定向redirect

HttpServletResponse类中通过方法

void sendRedirect(java.lang.String location) 可实现页面的跳转。

response.sendRedirect (“xxx.jsp”);

注意:该方法跳转后的页面,不能获得之前页面用户提交的数据。

转发forward

RequestDispatcher对象可以把用户对当前的JSP页面或 servlet的请求 转发给另一个JSP页面或servlet,并且将请求对象 和相应对象传递给目标 页面。

第一步:得到RequestDispatcher对象:

RequestDispatcher rd = request.getRequestDispatcher(“xxx.jsp”);

第二步:转发:rd.farward( request, response);

合并:

request.getRequestDispatcher(“xxx.jsp”).forward(request,response);

区别

对于重定向redirect服务器端在响应第一次请求的时候,让浏览器再 向另外一个URL发出请求,从而达到转发的目的。它本质上是两次HTTP请求,对应两个request对象。

对于转发forward客户端浏览器只发出一次请求,Servlet把请求 转发给Servlet、HTML、JSP或其它信息资源,由第2个信息资源响应该请求, 两个信息资源共享同一个request对象。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值