首先定义一下这两个词:
重定向是将用户从当前页面或servlet定向到另外一个jsp页面或者servlet
转发是将用户对当前jsp页面或者servlet对象的请求转发给另外一个jsp页面或者servlet对象。
在servlet类当中可以使用HttpServletResponse类的重定向方法sendRedirect()
也可以使用RequestDispatcher类的转发方法forward()。
以下为两者的区别:
1)RequestDispatcher的forward()方法只能将请求转发给同一个Web应用中的组件,HpptServletResponse的sendRedirect()方法不仅可以重定向到当前
应用程序中的其它资源,还可以重定向到同一个站点上的其它应用程序中的资源,甚至是使用绝对URL重定向到其它站点的资源。如果传递给sendRedirect()方法
的相对URL以“/”开头,它是相对于整个Web站点的根目录;如果创建RequestDispatcher对象时制定的相对URL以“/”开头,它是相对于当前Web应用程序的根目录。
2)使用sendRedirect()方法重定向的访问过程结束后,浏览器的地址栏中显示的URL会发生变化,由初始的URL地址变成重定向后的目标URL;然而调用Request
-Dispatcher的forword()方法的请求转发过程结束后,浏览器的地址栏保持初始的URL地址不变。
时间: 2024-09-30 11:14:49