Servlet的转发 VS 从定向

请求转发 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、不携带请求信息
   
 
假如   有  小二、小三、小四  三个人 
 
有一天 小二 缺钱  和  小三区借钱 ,而且小三当时没钱,就和小二说,你等会(这个时间小三和小四说了说情况,和小四借的钱),一会,小三就把钱给了小二,这就是转发
 
有一天 小二 缺钱  和  小三区借钱 ,而且小三当时没钱,就和小二说,我也没钱,你去和小三去借吧,此时小二又和小三去接了,这就是从定向

猜你喜欢

转载自blog.csdn.net/qq_26837711/article/details/53414975