Java的重定向与请求转发

重定向与请求转发的区别:

1、请求转发是服务器行为;重定向是客户端行为。
2、请求转发是RequestDispatcher.forward()方法;重定向使用HttpServletResponse.sendRedirect()方法。
3、请求转发只能将请求转发给同一个web项目中的其他页面;重定向不仅可以重定向到当前项目的其他页面,还可以重定向到另一个站点上的页面。
4、请求转发是一次请求,;重定向是多次请求。 请求转发是同一个请求,由最后一个转发页面向浏览器响应页面; 重定向是前一个请求结束了,一个新的请求发出了。
5、请求转发的转发者与接收转发者之间共享相同的request对象和response对象,他们属于同一个访问请求和响应过程;重定向的调用者与被调用者使用各自的request对象和response对象,他们属于多个独立的访问请求和响应过程;
 6、请求转发URL地址不会变化;重定向地址栏URL会变化。

实现代码:

重定向到index.jsp页面:
response.sendRedirect(request.getContextPath()+"/index.jsp");

将请求转发到index.jsp文件:
request.getRequestDispatcher("/index.jsp").forward(request, response);

举一个例子,理解请求转发和重定向。假设你去办理某个执照:

重定向:
你先去了A地,A地的人说:“这个事情不归我们管,去B地”,然后,就从A退了出来,自己乘车去了B地。

请求转发:
你先去了A地,A地看了以后,知道这个事情其实应该B地来管,但是他没有让你自己去B地,而是让你等一会儿,他到后面办公室联系了B地的人,让他们办好后,给你送了过来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值