SpringMVC中转发与重定向的区别浅析
Startbing 人气:0转发和重定向
相同点
都是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"; }
总结
加载全部内容