一 介绍
1.1
转发:用的是request.getRequestDispatcher().forward(request,responsse);
重定向是:调用的response 的sendRedirect()方法
response.sendRedirect();
1.2 地址栏
转发:不变,不会显示出转向的地址
重定向:会显示转向后的地址
1.3 请求:
转发:一次请求,一次响应 是服务端
重定向:至少提交了两次请求 在客户端
1.4 数据
转发:对request 对象的信息不会丢失 因此可以在多个页面交互中实现请求数据的共享
重定向:数据会丢失
1.5 原理
转发:是在服务器内部控制权的转移,是由服务器区请求,客户端并不知道是怎样转移的,因此客户端浏览器的地址不会显示出转向的地址。
重定向:是服务器告诉了客户端要转向哪个地址,客户端再自己去请求转向的地址,因此会显示转向后的地址,也可以理解浏览器至少进行了两次的访问请求。
二、调用方式
情景一:在servlet中调用转发、重定向
转发到new.jsp
request.getRequestDispatcher(“new.jsp”).forward(request, response);
重定向到new.jsp
response.sendRedirect(“new.jsp”);
情景二:在jsp页面中实现转发、重定向
-转发到new.jsp
<jsp:forward page=“new.jsp” />
//重定向到new.jsp%
<%response.sendRedi