四、跳转


重定向和转发区别:
1、请求次数:重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址;重定向至少请求两次,转发请求一次;

2、地址栏不同:重定向地址栏会发生变化,转发地址栏不会发生变化;

3、是否共享数据:重定向两次请求不共享数据,转发一次请求共享数据(在request级别使用信息共享,使用重定向必然出错);

4、跳转限制:重定向可以跳转到任意URL,转发只能跳转本站点资源;

5、发生行为不同:重定向是客户端行为,转发是服务器端行为;

4.1 转发

@RequestMapping("/forw")
class ForwardController{@RequestMapping("/test1")public String testForward(){System.out.println("test forward1");// 转发跳转 /views/users.jsp// return "views/users";//和下一行等价return "forward:/views/users.jsp";}@RequestMapping("/test2")public String testForward2(){System.out.println("test forward2");//转发到  /forw/test1//return "forward:test1";//相对路径(转发到本类中的test1)//转发到  /forw/test1return "forward:/forw/test1"; //绝对路径}
}

补:

    @RequestMapping("/test2")public String test2(){System.out.println("test2");//return "forward:/jump/test1";//转发return "forward:test1";//相对路径}

4.2 重定向

@RequestMapping("/redir")
class RedirectController{@RequestMapping("/test1")public String testRedirect1(){System.out.println("test redirect1");//重定向到 /redir/test1//return "redirect:test1"; //相对路径(转发到本类中的test1)return "redirect:/redir/test1";//绝对路径}@RequestMapping("/test2")public String testRedirect2(){System.out.println("test redirect2");//重定向到 /views/users.jspreturn "redirect:/view/user.jsp";}
}

补:
重定向到静态资源

    @RequestMapping("/test3")public String test3(){System.out.println("test3");return "redirect:/hello.jsp"; // 重定向到hello.jsp}

重定向到其他方法

    @RequestMapping("/test4")public String test4(){System.out.println("test4");return "redirect:test3";//return "redirect:/jump/test3"}

4.3 跳转细节

  • 在增删改之后,为了防止请求重复提交,重定向跳转

  • 在查询之后,可以做转发跳转

查:
使用转发,重新查询。

 @RequestMapping("/query")public String test5(){System.out.println("query数据1");return "forward:test1";}
http://localhost:8080/jump/query

使用转发到test1,地址不变。每次都重新查一遍

删除:
需要使用重定向,地址会变。这样刷新的时候就不会再重复删除。

    @RequestMapping("/delete")public String test6(){System.out.println("delete数据1");return "redirect:test1";}

springmvc04跳转相关推荐

  1. SpringMVC04:数据处理及跳转

    页面跳转的方式 一.ModelAndView<.h3> 设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 . 页面 : {视图解析器前缀} + vi ...

  2. 自制青蛙跳台阶小游戏~

    青蛙跳台阶小游戏 1.概念(concept)文档 楔子(Setting):千百年来,人们在贬低别人时,常用井底之蛙来描述那个人,但这却让青蛙不开心了,于是青蛙决定跳出井底,为自己讨一个公道. 玩法(G ...

  3. [递归]一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

    这题是用C写的~ 在牛客上半天找不着ACM模式,练习模式里只有核心代码模式 这样用C语言编译器就不能自定义函数啊,不鸡肋吗??? 解决方法:在核心代码模式下用C++编译器(反正C++完全兼容C的不是吗 ...

  4. 在React Hook里使用history.push跳转

    在React Hook里使用history.push跳转 react hook里用不了this.props.history的解决方法 首先引入 import { useHistory } from ' ...

  5. php连接mysql页面空白_求大神: php注册页面跳转出现空白页

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 register.php: 我感觉是不是insert这个地方出现问题,我试图填写不一样的密码但是他并没有提示错误而是跳转空白页 session_start ...

  6. HarmonyOS 界面跳转以及界面跳转的同时传递参数

    HarmonyOS 不带参数界面之间跳转 package com.example.myapplication.slice; import com.example.myapplication.Resou ...

  7. Android 隐式跳转(Activity的隐式跳转)

    学而时习之,温故而知新,放假前回顾下android 的 隐式跳转 Activity的显式跳转: 是直接指定需要调用的Activity Activity的隐式跳转: 不明确指定启动哪个Activity, ...

  8. Android 跳转Activity 的时候出现闪屏问题处理

    一般这种问题出现的原因就是某些activity的主题的设置了透明引起的 处理方法就是在界面跳转的时候时候添加 overridePendingTransition(0, 0); 例如 Intent in ...

  9. Tablayout 修改默认选项页,或者跳转到指定的选项页

    tablayout 的默认选项页为 viewpage.setCurrentItem(0) 如果想修改为第二页 viewpage.setCurrentItem(1) 即可 如果是根据跳转的情况来跳到不同 ...

最新文章

  1. python-opencv中的cv2.inRange函数
  2. STM32中I2C总线上数据的读、写。
  3. Flash/Flex学习笔记(2):捕获摄像头
  4. bzoj 2142 礼物
  5. java 从网络Url中下载文件
  6. 如何将word表结构转换为excel表格,最终转换为PowerDesigner格式
  7. android操作XML的几种方式(转)
  8. cad计算机快捷键命令大全,2016cad快捷键命令大全,AutoCAD快捷键命令大全
  9. 计算机视觉的专家和网站
  10. linux soruce 命令,Linux source命令是干啥的?
  11. 谈谈扫码支付的实现流程
  12. 自注意力机制(Self-Attention)
  13. u3d:200个插件免费分享
  14. Node.js Web 模块(客户端 服务端实例)
  15. PiaolinPlatformV2.0.0 - 获取手机或电脑GPS位置信息(定位平台)
  16. pdf解密工具(超实用)
  17. Java 获取年份-月份
  18. TC118S/TC118H单通道直流马达驱动IC
  19. 微信分享接口配置和调用
  20. 封杀太愚蠢,马斯克喊话解封特朗普推特账号!

热门文章

  1. Windows 安装Bazel (安装过程中报远程服务器错,先记下来方法)
  2. python flink_如何在 Apache Flink 中使用 Python API?
  3. 微信公众号-注册最全6种类型接口权限,注册哪个好?
  4. 如何用20%精力搞定80%任务
  5. docker compose安装_docker stack,docker-compose前世今生
  6. esp32 arduion 加速下载json
  7. 02-CSS基础与进阶-day6_2018-09-05-22-02-24
  8. Maven - settings.xml里的offline节点的作用
  9. Servlet读取xml文件的配置参数
  10. Android 串口开发