Servlet的转发 VS 从定向

Servlet中的请求转发和重定向是两种不同的处理方式。转发是服务器内部操作,客户端无感知,URL不变,只发送一次请求,能共享请求信息;而重定向会导致URL改变,客户端可见,发送两次请求,不携带请求信息。转发可以类比为小二向小三借钱,小三没钱找小四帮忙,小三直接给小二钱;重定向则类似小三让小二直接去找小四借钱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请求转发 VS 请求从定向 


1、RequestDispatcher 
  
  ①:调用HttpServletRequest 的 getRequestDispatcher()获取转发器,传入要转发的位置
  ②:转发器调用forword(request,response)
  
2、sendRedirect

调用response的sentRedirect()方法进行从定向,参数为目的地的URL


区别:
 RequestDispatcher
   1、RequestDispatcher转发对于客户端来说是透明的,是不知道的,浏览器的url地址不会改变
   2、转发是servlet 对用户的请求交给了另外一个servlet,然后把第二servlet的响应返回到用户,所以对于用户来说,服务器的所有过程都是透明的
   3、发出一次请求
   4、携带请求的信息
 sendRedirect
   1、调用sentRedirect()方法后,用户的浏览器的url发生了变化,指导从定向的地址
   2、当第一个servlet的发出从定向后,它就不会给本次请求提供任何服务...
   3、发出两次请求
   4、不携带请求信息
   
 
假如   有  小二、小三、小四  三个人 
 
有一天 小二 缺钱  和  小三区借钱 ,而且小三当时没钱,就和小二说,你等会(这个时间小三和小四说了说情况,和小四借的钱),一会,小三就把钱给了小二,这就是转发
 
有一天 小二 缺钱  和  小三区借钱 ,而且小三当时没钱,就和小二说,我也没钱,你去和小三去借吧,此时小二又和小三去接了,这就是从定向
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值