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目录当中,否则无法找到。

04-19 18:23