重定向 - 它使用浏览器重定向。它发送一个带有代码3xx的http响应(见维基百科),然后浏览器会再次请求新页面。 转发 - 转发是servlet容器内部处理的。浏览器不知道页面已更改。因此URL不会改变(就像重定向),在新页面中也有相同的请求。
除了上述写的要点之外,重定向(Redirect)是指客户端重定向,而转发(Forward)是指服务器端转发。 这意味着,可以将当前应用程序中的页面重定向到其他应用程序,因为它是在浏览器端发生的,但在转发中,则是将其转发到同一应用程序的某个 JSP 或 Servlet。
在请求分派器的情况下,请求不会返回到浏览器,而是直接从当前servlet(页面)转发到另一个servlet(页面)。因此,浏览器的URL不会改变。而在重定向的情况下,首先将请求从当前页面(servlet)返回到浏览器,然后再转发到指定的页面。因此,URL会发生改变。