转发和重定向
相同点
都是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";
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。