SpringMvc处理器方法的返回值

1、返回ModelAndView

ModelAndView中的视图会经过你视图解析器处理得到真实的jsp文件页面并且跳转。

@RequestMapping("test01")public ModelAndView test01() {ModelAndView mv = new ModelAndView();// 携带数据mv.addObject("teamName", "牛逼");// 页码转载mv.setViewName("result");// 经过视图解析器处理: /jsp/result.jspreturn mv;}

2、返回字符串

默认还是会经过视图解析器,将该字符串转为对应的jsp页面地址以及跳转

@RequestMapping("test02")public String test02(HttpServletRequest req) {Team team = new Team();team.setLocation("henan");team.setTeamId(12);team.setTeamName("AE");// 携带数据req.setAttribute("team", team);req.getSession().setAttribute("team", team);// 页面跳转return "result";}

3、返回对象类型

任意对象类型都可以返回,而是直接作为数据返回后直接展示,一般都是前端发起ajax异步请求
返回的时候需要添加注解@ResponseBody ,将对象转化为你json格式的数据放入到响应体,所以需要引入json依赖

前端可以通过ajax进行请求,然后对返回值进行获取

加上@ResponseBody注解之后,返回值不会经过视图解析器,所以返回值只是单纯的字符串,不会进行页面的跳转。

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency>
    @ResponseBody@RequestMapping("test03-1")public Integer test031(HttpServletRequest req) {return 66;}@ResponseBody@RequestMapping("test03-2")public String test032(HttpServletRequest req) {return "test"; // 直接返回数据,分返回字符串区别开}@ResponseBody@RequestMapping("test03-3")public Team test033(HttpServletRequest req) {Team team = new Team();team.setLocation("南阳");team.setTeamId(12);team.setTeamName("AE");return team;}@ResponseBody@RequestMapping("test03-4")public List<Team> test034(HttpServletRequest req) {List<Team> teams = new ArrayList<Team>();for(int i = 1;  i < 5; i ++){Team team = new Team();team.setLocation("南阳" + i);team.setTeamId(12+i);team.setTeamName("AE"+i);teams.add(team);}return teams;}@ResponseBody@RequestMapping("test03-5")public Map<String, Team> test035(HttpServletRequest req) {Map<String, Team> teams = new HashMap<String, Team>();for(int i = 1;  i < 5; i ++){Team team = new Team();team.setLocation("南阳" + i);team.setTeamId(12+i);team.setTeamName("AE"+i);team.setDate(new Date());teams.put(team.getTeamId()+"", team);}return teams;}

4、无返回值

    //通过 HttpServletRequest 做服务端跳转@RequestMapping("test04-1")public void test041(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("直接使用HttpServletRequest进行服务器转发");req.getRequestDispatcher("/jsp/OK.jsp").forward(req, resp);}//通过 HttpServletResponse 做重定向@RequestMapping("test04-2")public void test042(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("直接使用HttpServletResponse进行客户端重定向");resp.sendRedirect("/jsp/OK.jsp");}//通过 HttpServletResponse 给出响应@RequestMapping("test04-3")public void test043(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setCharacterEncoding("UTF-8");resp.setContentType("text/html:charset=utf-8");System.out.println("返回void类型测试---直接返回字符串");PrintWriter writer = resp.getWriter();writer.write("返回void类型测试---直接返回字符串");writer.flush();writer.close();}//也可以自己手动指定响应头去实现重定向:@RequestMapping("test04-4")public void test044(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setStatus(302);resp.setHeader("Location", "/jsp/OK.jsp");}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/790673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI绘图:Controlnet在ComfyUI中的使用教程:提升Stable Diffusion可控性

前言 Controlnet是Stable Diffusion中一个至关重要的功能&#xff0c;它极大地增强了图像生成的可控性。通过引入额外的条件&#xff0c;Controlnet使我们能够更精确地控制生成的图像内容。本教程将详细介绍如何在ComfyUI中使用Controlnet&#xff0c;从而让你的创作过程更加灵…

2012年认证杯SPSSPRO杯数学建模B题(第二阶段)节能减排全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 节能减排、抑制全球气候变暖 B题 白屋顶计划 原题再现&#xff1a; 第二阶段问题   虽然环境学家对地球环境温度的改变有许多种不同观点&#xff0c;但大多数科学家可以达成一个基本的共识&#xff1a;近年来人类的活动&#xff0c;尤指二氧…

云存储中常用的相同子策略的高效、安全的基于属性的访问控制的论文阅读

参考文献为2022年发表的Efficient and Secure Attribute-Based Access Control With Identical Sub-Policies Frequently Used in Cloud Storage 动机 ABE是实现在云存储中一种很好的访问控制手段&#xff0c;但是其本身的计算开销导致在实际场景中应用收到限制。本论文研究了…

ESP32学习---ESP-NOW(一)

ESP32学习---ESP-NOW&#xff08;一&#xff09; 官网简介arduino 官网简介 首先看官网的介绍&#xff1a;https://www.espressif.com.cn/zh-hans/solutions/low-power-solutions/esp-now ESP-NOW 是乐鑫定义的一种无线通信协议&#xff0c;能够在无路由器的情况下直接、快速…

【Java多线程(4)】案例:设计模式

目录 一、什么是设计模式&#xff1f; 二、单例模式 1. 饿汉模式 2. 懒汉模式 懒汉模式-第一次改进 懒汉模式-第二次改进 懒汉模式-第三次改进 一、什么是设计模式&#xff1f; 设计模式是针对软件设计中常见问题的通用解决方案。它们提供了一种被广泛接受的方法来解决…

5米分辨率数字高程模型(DEM)的制作

在现代科技的驱动下&#xff0c;地理信息系统&#xff08;GIS&#xff09;和遥感技术已经取得了惊人的进展。其中一项令人瞩目的技术就是5米分辨率数字高程模型&#xff08;DEM&#xff09;的制作&#xff0c;它是基于多颗高分辨率卫星数据为原始数据&#xff0c;借助智能立体模…

C语言编写Linux的Shell外壳

目录 一、输出命令行 1.1 了解环境变量 1.2 获取用户名、主机名、当前路径 1.3 缓冲区改进MakeCommandLine 二、获取用户命令 2.1 读取函数的选择 2.2 细节优化 2.3 返回值 三、指令和选项分割 3.1 strtok 函数 3.2 分割实现 四、执行命令 4.1 fork 方法 4.2 进…

0.17元的4位数码管驱动芯片AiP650,支持键盘,还是无锡国家集成电路设计中心某公司的

推荐原因&#xff1a;便宜的4位数码管驱动芯片 只要0.17元&#xff0c;香吗&#xff1f;X背景的哦。 2 线串口共阴极 8 段 4 位 LED 驱动控制/7*4 位键盘扫描专用电路 AIP650参考电路图 AIP650引脚定义

scratch小动物的晚会 2024年3月中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析

目录 scratch小动物的晚会 一、题目要求 1、准备工作 2、功能实现 二、案例分析

51单片机入门_江协科技_20.1_Proteus串口仿真

1.为了解决51单片机学习过程中在Proteus中的串口仿真的问题&#xff0c;需要在Proteus中建立串口仿真的环境&#xff08;目前Proteus安装在Win7x64虚拟机环境中&#xff1b; 2. 在CSDN中找到VSPD下载地址&#xff0c;在虚拟机中进行VSPD的安装&#xff0c;具体链接地址如下&am…

mac电脑下pip安装库后,仍然提示command not found

如&#xff1a;pip install httprunner&#xff0c;安装成功后输入hrun -V 提示“command not found”。 造成这个问题的原因是PATH环境变量的问题&#xff0c;因为使用的是homebrew安装的python&#xff0c;导致pip bin目录的环境变量没注册上。 解决办法是将python bin目录加…

HTML块级元素和内联元素(头部和布局)

目录 1.HTML块级和内联标签&#xff1a; 1.块级元素&#xff1a; 2.内联元素: 3.元素嵌套&#xff1a; 4.元素转换&#xff1a; 示例如下: 2.内联框架&#xff1a; 前言&#xff1a; 示例如下: 3.布局&#xff1a; 4.头部标签&#xff1a; 前言&#xff1a; 说明&…

【Elasticsearch配置秘籍】详解config/elasticsearch.yml,解锁关键参数与实战应用

Elasticsearch的强大性能与灵活性&#xff0c;很大程度上得益于其细致入微的配置选项。作为核心配置文件&#xff0c;config/elasticsearch.yml扮演着至关重要的角色。本文将深度剖析该文件中的重要参数&#xff0c;结合实例说明其作用与应用场景&#xff0c;助您定制最适合业务…

【蓝桥杯-Even Parity】

蓝桥杯-Even Parity 洛谷 UVA11464 Even Parity 暴力思路&#xff1a; 去遍历每个元素&#xff0c;如果不符合要求则翻转 时间复杂度大概在O&#xff08;2^&#xff08;nn&#xff09; nn&#xff09; 改进思路&#xff1a; 先去枚举确定第一行&#xff08;第一行得合法&…

反截屏控制技术对于防止数据外泄都有哪些具体作用?

反截屏控制技术在防止数据外泄方面具有以下具体作用&#xff1a; 智能反截屏技术&#xff1a; 当用户启动截屏操作时&#xff0c;并只有非涉密内容被截屏&#xff0c;所有涉密窗口自动隐藏&#xff0c;防止涉密内容被截屏。这一技术普遍支持目前市面上的各种截屏操作&#xff0…

Apache ECharts-数据统计(详解、入门案例)

简介&#xff1a;Apache ECharts 是一款基于 Javascript 的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数据可视化图表。 1、介绍 图 1.1 Apache ECharts 功能、运行环境 功能&#xff1a; ECharts&#xff…

微信小程序使用icon图标

原因&#xff1a; 微信小程序使用fontawesome库使用icon图标&#xff0c;网上有很多教程&#xff0c;按照网上说法制作&#xff0c;引入到微信小程序中&#xff0c;但是验证成功&#xff0c;只能使用部分图标&#xff0c;结果不尽如人意。后面使用阿里巴巴开源iconfont来使用ic…

hadoop3.0高可用分布式集群安装

hadoop高可用&#xff0c;依赖于zookeeper。 用于生产环境, 企业部署必须的模式. 1. 部署环境规划 1.1. 虚拟机及hadoop角色划分 主机名称 namenode datanode resourcemanager nodemanager zkfc journalnode zookeeper master slave1 slave2 1.2. 软件版本 java …

vue2升级到vue3的一些使用注意事项记录(二)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

【opencv】教程代码 —Histograms_Matching(2)计算直方图、直方图比较、直方图均衡、模板匹配...

计算直方图直方图比较图像进行直方图均衡化处理模板匹配 1. calcHist_Demo.cpp 计算直方图 这段代码的功能是加载图像&#xff0c;分离图像的三个颜色通道&#xff0c;然后分别计算这三个通道的直方图&#xff0c;绘制出来并显示结果。直方图是图像中像素值分布的图形表示&…