请求转发是服务器内部做的操作,而重定向是服务器返回重定向指令后,浏览器发起的再一次访问.
1.请求转发是request对象的方法
request.getRequestDispatcher(url).forward(request,response);
2.重定向是response对象的方法
response.sendRedirect(url);
特点比较
1.转发的时候,url地址不会改变;重定向URL地址会改变
2.转发的时候,封装在request对象中的数据不会丢失,而重定向会丢失
3.转发相当于一次访问,重定向则相当于两次访问
什么时候用转发,什么时候用重定向?
一般情况下,功能之间用重定向
什么叫功能之间
例如: 登录,查看我的购物车信息
登录是一个功能,查看购物车是另一个功能
登陆成功后,重定向到登陆成功页面