关于请求转发和重定向

  请求转发是客户端向服务器发起一次请求,服务器匹配相应的servlet进行处理,最后调用request.getRequestDispacther.forward方法,请求携带了客户端所需要的数据,转发到指定的jsp页面。jsp页面可以通过getAttribute()获取共享的数据。    此过程只发生了一次请求,一次响应,request域中的数据是共享的。

  重定向是客户端向服务器发起一次请求,服务器匹配相应的servlet进行处理,最后调用responese.sendRedirect()方法,这时,服务器告诉客户端要再发一次请求,重定向到指定的jsp页面,客户端收到信息后,再发一次请求,并且跳到指定的页面。   此过程发生了两次请求,两次相应,request域中的数据是不共享的。

  

  它们的区别?

  答:1、关键字上区别,请求转发:forward           重定向 :redirect

    2、请求转发:客户端发起了一次请求,服务器响应一次。   重定向 :客户端发起两次请求,服务器响应两次。

    3、请求转发:request域中的数据共享           重定向:request域中的数据不共享

    4、请求转发:地址栏的地址不会发生改变          重定向:地址会发生改变

    5、请求转发:请求转发是发生在同一个服务器中的      重定向:可以发生在不同的服务器中,可以跳转到不同的服务器或域名中。

  

posted @ 2019-08-01 14:52  luojack  阅读(554)  评论(0编辑  收藏  举报