重定向的功能是从当前页面定向到另一个页面
转发的功能是将用户对当前jsp页面或者是servlet的请求转发给另一个jsp、页面或者servlet
1.sendRedirect方法
重定向方法void sendRedirect(String location)是HttpServletResponse类中的方法
仅仅是从当前页面定向到另一个页面中,无法获取用户提交的请求转发给所定向的页面中。也就是说,重定向的页面或servlet无法使用request获取用户提交的数据
2.RequestDispatcher对象
RequestDispatcher对象可以把用户对当前页面或servlet的请求转发给另一个JSP页面或servlet,而且将用户对当前JSP页面或servlet的请求和响应(HttpServletRequest,HttpServletResponse)传递给转发到的jsp页面或servlet。
就是说,可以转发request请求
转发步骤:
(1)得到requestDispatcher对象:用户所请求的当前JSP页面或者servlet可以让 request(HttpServletRequest对象) 调用 public RequestDispatcher getRequestDispatcher(String path)方法 返回一个 RequestDispatcher对象,其中path是要转发到的jsp或servlet。
例:RequestDispatcher dispatcher = request.getRequestDispatcher(a.jsp);(咣当,给a.jsp怼上一根管道)
(2)转发:在步骤(1)中获取的RequestDispatcher对象调用下面这个方法对当前jsp或servlet的请求转发给RequestDispatcher对象所指定的jsp或servlet
void forward(ServletRequest request, ServletResponse response) throws ServletException, ava.io.IOEception
例:dispatcher.forward(request,response);(咣当,管道怼完了,管道的forward方法把request和response传过去)
详细内容http://www.360doc.com/content/14/0917/14/14654028_410176342.shtml