SpringMVC框架提供的转发和重定向

1.forward请求转发

forward 是 服务器内部跳转 ,特点:

  • URL 不改变
  • 数据可以带过去
  • 不会重新发请求
  • 只能访问当前项目的 JSP(不能跳外部网站)
    适用于:
  • 登录成功后跳转
  • 校验失败回到原页面
  • 转发到 JSP 显示数据
    forward 是请求转发,属于服务器内部跳转。
    返回 String 时如果写成 "forward:/路径",SpringMVC 就不会经过视图解析器,而是直接把请求转给目标 JSP 文件。
    URL 不改变,并且可以携带数据,非常适合做错误提示跳转。
    2.redirect 重定向
    redirect 会让浏览器重新请求指定地址,是客户端跳转。
    不能访问 WEB-INF 下面的 JSP,只能访问对外公开的资源。
    适合跳转到首页、其他 Controller、或者外部链接。
    redirect 和 forward 的区别

|---------------|-------------|---------------|
| 功能 | forward(转发) | redirect(重定向) |
| 是否改变URL? | ❌ 不改变 | ✔ 改变 |
| 是否是一次请求? | ✔ 一次请求 | ❌ 两次请求 |
| 能否访问 WEB-INF? | ✔ 能 | ❌ 不能 |
| 能否带数据? | ✔ 能 | ❌ 不能 |
| 使用场景 | 返回 JSP | 跳外部、新页面 |

相关推荐
乐启国际旅行社有限公司6 分钟前
Java线程池实战:文旅系统批量任务性能优化(团期生成/数据导出)
java·开发语言·性能优化
Listen·Rain15 分钟前
用AI开发出一个AI
java·人工智能·spring boot·tomcat·intellij-idea·mybatis·visual studio
AI人工智能+电脑小能手17 分钟前
【大白话说Java面试题 第203题】【09_Zookeeper篇】第4题:ZooKeeper 的节点类型有哪些?
java·zookeeper·分布式锁·分布式协调·znode
宸津-代码粉碎机26 分钟前
告别手动Jar部署!生产级无损热部署方案,彻底解决OOM与更新失效问题
java·大数据·开发语言·人工智能·python
米码收割机28 分钟前
【移动】线上购物移动端网站(源码+文档)【独一无二】
java·开发语言·前端·python·django
小肝一下33 分钟前
多态(上)
android·开发语言·c++·vscode·多态·面向对象·伊蕾娜
无敌秋43 分钟前
python/c++/java上云
java·c++·python
都叫我大帅哥1 小时前
BCrypt 还是 Argon2?Spring Security 密码加密方案深度解析与实战对比
java·spring
IKUN家族9 小时前
Spring MVC(一)
java·spring·mvc
老马识途2.011 小时前
关于跨域问题的总结
java·前端