HttpServletResponse 对象的sendRedirect(String location)方法称为重定向。如果location地址前面加上"/",则表示相对于Servlet容器的根来请求,即http://localhost:8080
如果location地址前没有加上"/",则表示相对于当前请求的URI来寻找地址。
RequestDispatcher的forward(request,response)方法称为请求转发。
请求转发与重定向的区别:
1)请求转发,整个过程处于同一个请求当中。
2)重定向实际上会向服务器发送两个请求。
3)RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。
4)sendRedirect()是HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。