Web UI项目中, 很多 Spring controller 视图函数直接返回 html 页面, 还有一些视图函数是要重定向或转发到其他的 url 上.

redirect 和 forward的区别:

重定向 redirect: 完整的重定向包含两次request-response过程, 第一次是访问原始url, 第二次是服务器通知客户端访问重定向后的url. 重定向完成后, 浏览器的地址是重定向后的url, 而不是原始的url.

重定向的使用场景: 因为重定向会修改浏览器地址, 所以 form 提交应该使用重定向, 以免用户刷新页面导致form重复提交.

转发 forward: 完整的转发仅包含一次 request-response 过程, 用户发出request后, 服务器端视图函数先处理自己的逻辑, 然后在服务器端有调用另一个视图函数, 最后将response返回给浏览器.

==============================

转发 forward

==============================

在Spring MVC 中, 构建forward 目标有两种方式:

1. 以字符串的形式构建目标url, url 需要加上 forward: 前缀

2. 使用 ModelAndView 对象来设置转发的forward目标, viewName 可以省略 forward: 前缀, viewName 应该是目标url, 而不是目标视图的函数名.

传参方式:

1. 以字符串的形式构建目标url, 可以使用 query variable的格式拼url

2. 使用 ModelAndView 对象来增加 attribute Object, 其结果也是在拼接url.

取参的方式: 可以使用 @RequestParam 来取参.

==============================

重定向 redirect

==============================

redirect 目标有三种构建方式

1. 使用 redirect: 前缀url方式构建目标url

2. 使用 RedirectView 类型指定目标, 推荐使用这个,

3. 使用 ModelAndView 类型指定目标, ModelAndView 视图名默认是forward

springboot 直接转发调用_SpringBoot系列: url重定向和转发相关推荐

  1. springboot banner在线生成_SpringBoot系列教程10--小花样之SpringBoot配置自定义Banner

    SpringBoot系列教程10--小花样之SpringBoot配置自定义Banner 作者:一一哥 一. Spring Boot 常用配置 本章节主要介绍一下 Spring Boot 中的一些常用配 ...

  2. springboot webservice接口调用_springboot远程调用dubbo服务接口

    1.首先idea新建一个springboot项目,这里简单介绍下: 2.在springboot启动类上加入注解 @ImportResource(locations = {"classpath ...

  3. struts result type redirect 重定向和转发的区别

    我们在使用struts2进行配置struts.xml的时候,<result>中有个tyep属性用来配置跳转类型 默认不写时tyep="dispatcher",我们可以根 ...

  4. SpringMVC系列(九)自定义视图、重定向、转发

    一.自定义视图 1. 自定义一个视图HelloView.java,使用@Component注解交给Spring IOC容器处理 1 package com.study.springmvc.views; ...

  5. zw版【转发·台湾nvp系列Delphi例程】.NET调用HALCON COM控件内存释放模式

    zw版[转发·台湾nvp系列Delphi例程].NET调用HALCON COM控件内存释放模式 ------------------------------------ 方法一 : Imports S ...

  6. request中的内容存储_宜信开源|调用链系列(3):解读UAVStack中的调用链技术...

    拓展阅读:宜信开源|调用链系列(1):解读UAVStack中的贪吃蛇 调用链系列(二):解读UAVStack中的贪吃蛇-调用链 在Java中,HTTP协议的请求/响应模型是由Servlet规范+Ser ...

  7. jQuery Ajax调用后如何管理重定向请求

    我使用$.post()使用Ajax调用servlet,然后使用生成的HTML片段替换用户当前页面中的div元素. 但是,如果会话超时,服务器将发送重定向指令以将用户发送到登录页面. 在这种情况下,jQ ...

  8. SpringMVC框架 学习DAY_02 : 接收请求参数/向模板页面转发数据/重定向与转发 /Session

    1. 接收客户端提交的请求参数 1.1. 使用HttpServletRequest接收请求参数 在处理请求的方法的参数列表中,添加HttpServletRequest类型的参数,在处理请求的过程中,调 ...

  9. java 重定向和转发(转载)

    jsp中result的默认类型为dispatcher. dispatcher:与<jsp:forward page=""/>效果相同 redirect:与respons ...

  10. java中web应用中重定向与转发的区别

    Java基础:请求重定向与请求转发的比较   发布时间:2007.11.24 04:51 来源:赛迪网技术社区 作者:执木 尽管HttpServletResponse.sendRedirect方法,R ...

最新文章

  1. xshell连接Linux、ngix部署
  2. 基于 Python 的 8 种常用抽样方法
  3. axis WebServices 完美调用天气预报,查询、显示 代码!
  4. iOS开发打电话的功能
  5. 全球及中国双特异性单抗行业发展可行性及项目调研评估报告2022-2027年
  6. STM32F103实现点灯(固件库方式)
  7. mysql innodb 索引 延迟更新_Mysql覆盖索引与延迟关联
  8. [渝粤教育] 西南科技大学 质量与可靠性管理 在线考试复习资料
  9. 【数据结构与算法】数组与链表
  10. Hadoop datanode正常启动,但是jps差不多datanode进程,而且Live nodes中却缺少节点
  11. node.js 实现扫码二维码登录
  12. struts2 中文乱码问题,自定义过滤器通用解决方法
  13. ubuntu mysql5.7配置_ubuntu系统mysql5.7忘记/设置root的坑
  14. mysql 语句 集锦_mysql 语句集锦
  15. 找CTO杜仲:技术人别把股权(期权)弄成一张废纸(新书推荐)
  16. linux性能诊断,linux下跟性能相关的命令以及系统性能诊断
  17. 交互设计沉思录:顶尖设计专家Jon Kolko的经验与心得(原书第2版)
  18. H3C交换机配置命令大全
  19. 架构师如何练习演讲和表达能力
  20. SQL Server 基础操作(五)导入和导出数据表

热门文章

  1. 我的 2019-上半年总结
  2. sklearn数据库-【老鱼学sklearn】
  3. 电子科技大学计算机学刘峰林,廖年冬
  4. Git:合并提交节点到其它分支的详细操作[git cherry-pick]
  5. 【Ubuntu16.04】GeForce RTX 2080显卡配置Openpose环境教程
  6. JUC并发编程之JUC基本知识、多线程的编写步骤、LOCK接口
  7. 2023 在线抖音微信对话生成器HTML源码
  8. 硬核实力,多方认可|云扩科技作为RPA核心厂商入选《2022中国RPA采购指南》
  9. [求助]一张表查询各班级总分前三名
  10. mysql数据库表练习_MySQL数据库单表练习