关于spring-mvc:SpringMVC中转发和重定向的区别

2次阅读

共计 573 个字符,预计需要花费 2 分钟才能阅读完成。

转发和重定向

相同点
都是 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";}
正文完
 0