图解转发与重定向
转发
重定向
–简单来说,转发是服务器帮用户定位到目标资源,用户只用发一次请求,剩下的不用操心,并且地址栏不变。
–而重定向则是服务器告诉用户目标资源的位置,让用户再次发送请求,地址栏会变化。
传统的转发与重定向
//转发
request.getRequestDispacther("/index.jsp").forward(request,response);
//重定向
response.sendRedirect("/index.jsp");
基于SpringMVC的转发与重定向
转发
@RequestMapping("/test/t1")
public String test1(Model model){
model.addAttribute("msg","转发");
return "hello";
}
重定向
@RequestMapping("/red")
public String testForRedirect(){
return "redirect:/index.jsp";
}
【注】重定向的时候,是交给用户重新更新地址栏地址,所以不可以访问WEB-INF下的地址,而且重定向时,不可以把数据传递给新的页面。
如果想通过重定向访问WEB-INF下的页面,可以将重定向的路径改为一个新的Controller方法,利用该方法访问WEB-INF下的页面