forward(请求转发)和redirect(重定向)的区别

原理:

forward是服源,服器直接访问地址的URL,把那个URL的响内容来,然后把些内容再发给浏览器,浏览器根本不知道服送的内容是从哪儿来的,所以它的地址是原来的地址。
redirect就是服端根据逻辑,送一个状态码,诉浏览器重新去求那个地址,一般来说浏览器会用求的所有参数重新求,所以session,request参数都可以

所以,前者更加高效,在前者可以足需要,尽量使用forward()方法,并且,这样也有助于实际接。
调用方法:
Servlet中
request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.jsp
response.sendRedirect("new.jsp");//重定向到new.jsp
JSP中
<jsp:forward page="apage.jsp" />
<%response.sendRedirect("new.jsp");%><!--重定向到new.jsp-->