全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-18 6 分钟 ✍️ juanwangdev

转发与重定向

SpringMVC支持转发和重定向两种页面跳转方式,实现方式简洁。

转发

转发是服务器内部跳转,URL不变,共享同一个请求。

语法格式

Java
return "forward:/目标路径";

示例代码

Java
@Controller
public class DemoController {

    @RequestMapping("/forwardDemo")
    public String forwardDemo() {
        return "forward:/success";
    }

    @RequestMapping("/success")
    public String success() {
        return "success";
    }
}

重定向

重定向是客户端重新发起新请求,URL改变,不共享请求。

语法格式

Java
return "redirect:/目标路径";

示例代码

Java
@Controller
public class DemoController {

    @RequestMapping("/redirectDemo")
    public String redirectDemo() {
        return "redirect:/success";
    }
}

区别对比

特性转发重定向
请求次数1次2次
URL变化不变改变
请求域数据共享不共享
跨域访问不支持支持

转发使用 forward: 前缀,重定向使用 redirect: 前缀。

要点总结

  • 转发:forward:/路径,服务器内部跳转,共享请求
  • 重定向:redirect:/路径,客户端重新请求,不共享请求
  • 需要共享数据用转发,需要改变URL用重定向
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 控制器返回String
下一篇 → ResponseBody返回JSON
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码