转发和重定向

相同点
都是web开发中资源跳转的形式。

不同点
转发:是服务器外部的跳转,浏览器的地址栏不会发生变化。从一个页面到另一个页面的跳转还是同一个申请,也即是只有一个申请响应。能够通过request域来传递对象。
重定向:是浏览器主动发动对跳转指标的申请,浏览器的地址栏会发生变化。从一个页面到另一个页面的跳转是不同的申请,也即是有两个或两个以上的不同的申请的响应。无奈通过request域来传递对象。

在SpringMVC中实现转发和重定向

(1)在SpringMVC中依然以传统形式进行转发和重定向
上面的代码中login.jsp就是跳转后的页面
转发:

requst.getRequestDispatcher("login.jsp").forword(request,response);

重定向:

response.sendRedirect("login.jsp");

(2)SpringMVC提供了便捷的转发和重定向的形式

//转发@RequestMapping("/forward")public String forword(){    return "forward:/index.jsp";}
//重定向@RequestMapping("redirect")public String redirect(){    return "redirect:/index.jsp";}