面试题整理-1-forward和redirect的区别

WEB前端 waitig 431℃ 百度已收录 0评论

在Servlet中两种实现:

      forward方式:request.getRequestDispatcher("/xxxPage.jsp").forward(request, response);

      redirect方式:response.sendRedirect("/xxxPage.jsp");

1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.

3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

4.从效率来说
forward:高.
redirect:低.


本文由【waitig】发表在等英博客
本文固定链接:面试题整理-1-forward和redirect的区别
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)