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

转发和重定向

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理