springmvc中的转发和重定向

  1. 转发和重定向的区别

    • 转发是一个请求一次响应,重定向是两次请求两次响应;

    • 转发地址栏不发生变化,重定向地址栏发生变化(会显示重定向后的地址);

    • 转发只能转发到本项目中其他控制器(在学习JavaWeb的时候,说的是:转发只能转发到本项目中其他Servlet),重定向不仅能重定向到本项目中的其他控制器(或其他Servlet),还能重定向到其他项目;

    • 转发是服务器端的行为,只需给出转发的相对路径,重定向需要给出请求URI(即包含项目名)。

  2. 举例

    //转发
    @RequestMapping("/forward")
    public String forward() {
        return "forward:/target.jsp";
    }
    //重定向
    @RequestMapping("/redirect")
    public String redirect() {
        return "redirect:/target.jsp";
    }
    
  3. 对比

posted @ 2024-05-14 11:16  Hanyta  阅读(35)  评论(0编辑  收藏  举报