转发和重定向

相同点

都是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";
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。