大家好,我是郭尕~

spring MVC视图

  • 1. 简单实例
  • 2. forward请求转发视图
  • 3. redirect重定向视图
  • 4. 重定向和转发的区别
    • 4.1 转发
    • 4.2 重定向
    • 4.3 对比

1. 简单实例

在Spring MVC的控制器方法中,常见的返回类型有ModelAndView、String、void。其中ModelAndView类型中可以添加Model数据并指定视图;String类型的返回值可以跳转试图,但是不能携带数据;void类型主要在异步请求时使用,只返回数据,不跳转视图。

由于ModelAndView类型未能实现数据与视图之间的解耦,通常返回类型会选择String,那么用String作为返回值类型时, 如何将数据带入视图页面呢?

这就需要Model参数类型来实现了,通过该参数类型,就可以添加需要在视图中显示的信息。

控制器方法如下:

@RequestMapping("/modelTest")public String modelTest(Model model){model.addAttribute("msg","这是一个Spring MVC 程序!");return "success";}

String类型除了返回上述代码的视图页面外,还可以进行重定向与请求转发

2. forward请求转发视图

在发送请求的时候,可以通过forward:来实现转发的功能
forward:也可以由一个请求跳转到另外一个请求

控制器方法如下:

@RequestMapping("/forwardTest")public String forwardTest(){return "forward:/modelTest";}

注意:当控制器方法中所设置的视图名称以"forward:"为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"forward:"去掉,剩余部分作为最终路径通过转发的方式实现跳转。

3. redirect重定向视图

redirect :重定向的路径

控制器方法如下:

@RequestMapping("/redirectTest")public String redirectTest(){return "redirect:/modelTest";}

注意:当控制器方法中所设置的视图名称以"redirect:"为前缀时,创建RedirectView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"redirect:"去掉,剩余部分作为最终路径通过重定向的方式实现跳转。

4. 重定向和转发的区别

4.1 转发

由服务器的页面进行跳转,不需要客户端重新发送请求:
特点如下:
1、地址栏的请求不会发生变化,显示的还是第一次请求的地址
2、请求的次数,有且仅有一次请求
3、请求域中的数据不会丢失
4、根目录:localhost:8080/项目地址/,包含了项目的访问地址

4.2 重定向

在浏览器端进行页面的跳转,需要发送两次请求(第一次是人为的,第二次是自动的)
特点如下:
1、地址栏的地址发生变化,显示最新发送请求的地址
2、请求次数:2次
3、请求域中的数据会丢失,因为是不同的请求
4、根目录:localhost:8080/ 不包含项目的名称

4.3 对比

区别 转发(forward) 重定向(redirect)
根目录 包含项目访问地址 没有项目访问地址
地址栏 不会发生变化 会发生变化
跳转位置 服务器端 浏览器端
请求域中的数据 不会丢失 会丢失

哆啦a梦教你页面的转发与重定向相关推荐

  1. SpringMVC中转发和重定向

    在SpringMVC中正常的页面转发是通过视图解析器的,视图解析器对view的名字进行拼接,加上前缀和后缀 <!-- 视图解析器--><bean class="org.sp ...

  2. 教你如何利用canvas画布绘制哆啦A梦

    教你如何利用canvas画布绘制哆啦A梦 最近一直在练习使用canvas画布标签,今天教大家如何使用canvas画布绘制哆啦A梦.如图: HTML代码: <canvas id="my_ ...

  3. 教你如何用Canvas绘制整身的哆啦A梦

    教你如何用Canvas绘制整身的哆啦A梦 上牌你文章我们说到了如何使用canvas绘制哆啦A梦,但当时只是绘制了哆啦A梦的头部,之后有学员留言说可不可以教大家绘制整身的哆啦A梦,想了想,决定安排一下. ...

  4. 织梦 tags.php静态化,教你dedecms织梦tag标签页面怎么实现静态化

    大家好,我最近一直在研究织梦的tag页面静态化问题,从网络上看了不少的教程,有的是教你伪静态怎么设置的,有的是利用插件实现真静态的,简单的给大伙分析一下用哪个好. ①伪静态:节约硬盘空间,隐藏文件真实 ...

  5. Python实战之tkinter库画图,用canver画布教你画会动的哆啦A梦

    目录 tkinter库画图基本思路 画虚线 定义画原始人物的函数 点击眨眼 运动四肢 色彩变化 我们知道Python之所以强大,很大一方面都是因为它具有很多强大的第三方库. 而且Python很突出的一 ...

  6. python画皮卡丘全身立体_超酷!用 Python 教你绘制皮卡丘和哆啦A梦

    本文利用 Python 绘制两个卡通角色,并带大家熟悉一下绘图程序包 turtle 的一些用法,先看一下 最终皮卡丘的绘制效果录制_2020_08_01_22_15_39_710.gif 在使用之前请 ...

  7. 闲鱼把各种玩法做成了一个平台:哆啦A梦

    简介:哆啦A梦的口袋里,都有哪些好玩的? 作者:闲鱼技术-齐悟 玩法平台背景 在闲鱼内我们把供给用户的闲鱼红包.支付宝红包.包邮券.宝卡等统称为用户权益.是闲鱼用户运营的重要策略,在拉新.留存.促活. ...

  8. android开发 修改标题栏背景_Android哆啦A梦调试工具体验

    滴滴开发调试工具(https://github.com/didi/DoraemonKit)是滴滴开源的一款功能齐全的客户端( iOS .Android )研发助手 是什么 用图说话,这个调试工具其实就 ...

  9. 哆啦A梦纯HTML代码

    Web基础篇 HTML-05哆啦A梦 此页面主要知识点: 一.阴影: box-shadow:水平距离(必须) 垂直距离(必须) 模糊距离(可选) 阴影尺寸(可选) 阴影颜色(可选) inset(out ...

最新文章

  1. 时间换算_只愿与一人十指紧扣_新浪博客
  2. 在struts-config.xml中配置validator-plugin导致404 Servlet action is not available
  3. 那些实用与颜值齐飞的桌面!
  4. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第8章-高阶非线性多智能体分布式自适应鲁棒控制
  5. 强化学习与深度,神经网络的结合随记
  6. 10进制转换16进制补足0_信息技术教师资格必考内容——进制换算(一)
  7. 放下十样东西,你会更优秀!
  8. APACHE ACTIVEMQ安装
  9. Nagios 监控温度感应器
  10. php5.0 cms安装教程,小浣熊CMS5.0漫画系统安装教程和采集教程
  11. 《机器学习实战》--资料下载和运行环境
  12. 计算机网络第七版课后习题答案(第一章)(20210321)
  13. Android摄影App,摄影爱好者必备的Android摄影App推介
  14. 大咖面对面 | 喵奏@国家建筑师:梦回大宋,一起来做河里人
  15. (已解决)STM32报错Error: L6218E: Undefined symbol assert_param (referred from misc.o).
  16. 远距离激光多脉冲测距TDC2K8S芯片使用
  17. mysql rds 主从_简单说说RDS的主从功能是如何实现
  18. 洛谷 P1569 [USACO11FEB]属牛的抗议Generic Cow Prote…
  19. Windows(32bit.64bit) OpenSSL生成数字证书pfx、cer。拒绝收费,(不需要编译openssl源代码,快速安装)
  20. tensorflow中GPU相关设置解决显存不足

热门文章

  1. llc谐振闭环电路基于simulink
  2. oracle表启用online,Oracle数据库启动与关闭
  3. java后台生成图片(加载外部字体)
  4. 公司网络架构简单介绍
  5. 什么是Word通配符?Word通配符用法详解
  6. 疫情常态化,华为云会议不打烊
  7. Echarts最新json地图文件
  8. 自动关机shutdown命令
  9. 【全国大学英语四、六级考试(CET)成绩单补办】
  10. com.google.protobuf.ServiceException: java.lang.NoClassDefFoundError: com/yammer/metrics/core/Gauge