forward转发
Controller方法在提供了String类型的返回值后,默认就是请求转发。
@RequestMapping("/testForward")
public String testForward() {
System.out.println("AccountController 的 testForward 方法执行了。。。。");.
return "forward:/WEB-INF/pages/success.jsp";
}
它相当于“request.getRequestDispatcher("url").forward(request,response)”
如果使用了forward,路径必须写成实际的URL,不能写逻辑视图。
使用请求转发,既可以转发到jsp,也可以转发到其他的控制器方法。
Redirect重定向
Controller方法提供了一个String类型返回值之后,它需要在返回值中使用:redirect:
@RequestMapping("/testRedirect")
public String textRedirect() {
System.out.println("AccountController 的 testRedirect 方法执行了。。。。");.
return "redirect:testReturnModelAndView";
}
它相当于“response.sendRedirect(url)”。
如果是重定向到jsp页面,jsp页面不能写到WEB-INF目录当中,否则无法找到。