用response.sendRedirect()和request.getRequestDispatcher().forward(request,response)这2个跳转页面有什么区别?最好能说的简单易懂些,谢谢

解决方案 »

  1.   

    response.sendRedirect(url) -- 重定向到指定URL
    request.getRequestDispatcher(url).forward(request,response) -- 请求转发到指定URL二者区别:
        response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参数,如:
    url?id=1.
        request.getRequestDispatcher(url).forward(request,response)是直接将请求转发到指定URL,所以该请求能够直接获得上一个请求的数据,也就是说采用请求转发,request对象始终存在,不会重新创建。而sendRedirect()会新建request对象,所以上一个request中的数据会丢失。