forward : 转发、派遣
redirect: 重定向
转发与重定向是Servlet 请求后指定返回某一个页面的时候使用。 但是两种方式不同
具体代码(背下来)
//转发
request.getRequestDispatcher(“success.html”).forward(request, response);
//重定向
response.sendRedirect(“success.html”);
转发与重定向的区别【经典面试题】
对象|写法|URL|参数
转发:
是客户端(request)转发,写法是
request.getRequestDispatcher(”地址”).forward(request,response);
url地址不变,认为你虽然到别的页面但是属于一个请求。 因为一个request可以从后台携带参数到指定的页面上。
重定向:
是服务器(response)重定向,写法是
response.sendRedirect(”地址”);
URL会跟随改变成新的地址,服务器重新指定了新的地址。因为response对象没有作用域,所以不能携带参数。
如何选择使用?
传参时只能选择转发, 不传参的时候随意。