转发与重定向
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用重定向
📝 发现内容有误?点击此处直接编辑