springmvc-210803-03---处理器方法的返回值

Screenshot_2026-11-03-16-23-09-34.jpg 立即下载

springmvc-210803-03—处理器方法的返回值


返回 ModelAndView

返回 ModelAndView:

	有数据和视图,对视图执行forward操作。
	
    若处理器方法处理完后,需要跳转到其它资源,且又要在跳转的资源间传递数据,此时处理器方法返回 ModelAndView 比较好。
    当然,若要返回 ModelAndView,则处理器方法中需要定义 ModelAndView 对象。

    在使用时,若该处理器方法只是进行跳转而不传递数据,或只是传递数据而并不向任何资源跳转(如对页面的 Ajax 异步响应),
    此时若返回 ModelAndView,
    则将总是有一部分多余:要么 Model 多余,要么 View 多余。
    即此时返回 ModelAndView 将不合适。

返回 String

返回 String:
	表示视图,
	可以是逻辑名称,也可以是完成视图路径。

返回 void

返回 void:
	不能表示数据,也不能表示视图。
	
	处理器方法返回 void 的应用场景,AJAX 响应。
	

返回对象 Object

返回对象 Object:
	处理器方法也可以返回 Object 对象。这个 Object 可以是 Integer,String,自定义对象,Map,List 等。
	返回的Object表示数据,和视图无关。
	
	可以使用对象表示数据,响应ajax请求。
	目前做ajax,主要使用json的数据格式。
		实现步骤:
			1) 加入处理json的依赖,springmvc默认使用jackson。
			2) 在springmvc配置文件中加入<mvc:annotation-driven>注册驱动。
			3) 在处理方法上面加入注解@ResponseBody

处理器对象返回Object,转为json输入到浏览器,响应ajax的原理:

	1. <mvc:annotation-driven>注册驱动
	   相当于:json = om.writeValueAsString(student);
	   
	   <mvc:annotation-driven>在加入springmvc配置文件后,
	   会自动创建HttpMessageConverter接口的7个实现类,
	   包括MappingJackson2HttpMessageConverter(使用jackson工具库中的ObjectMapper实现java对象转为json字符串)
	   
	   注册驱动实现的功能是:完成java对象到json,xml,text,二进制等数据格式的转换。
	   HttpMessageConverter接口:
	   		消息转换器。
	   		功能:定义了java转为json,xml等数据格式的方法,这个接口有很多实现类。
	   		
	   		这两个方法是控制器类把结果输出给浏览器时使用的:
                boolean canWrite(Class<?> var1, @Nullable MediaType var2);
                void write(T var1, @Nullable MediaType var2, HttpOutputMessage var3)
                
                例如:
                	public Student doReturnView(HttpServletRequest request,String name,Integer age){
                		Student student = new Student();
                		student.setU_name("Tom");
                		student.setU_age(22);
                		return student;
                	}
                	1) canWrite作用检查处理器方法的返回值,能否转为var2表示数据。
                	   检查student(Tom,22)能否转为var2表示的数据格式,
                	   如果检查能转为json,canWrite返回true。
                	   MediaType:表示数据格式,比如:json,xml等。
                	   
                	2) write:把处理器方法的返回值对象,调用jackson中的ObjectMapper转为json字符串,
                		      相当于:json = om.writeValueAsString(student);
	2. 注解@ResponseBody
	   放在处理器方法上面,通过HttpServletResponse输出数据,响应ajax请求。
	   相当于:
	   		PrintWriter pw = response.getWriter();
             pw.print(json);
             pw.flush();
             pw.close();

没有加入注解驱动标签<mvc:annotation-driven /> 时的状态
org.springframework.http.converter.ByteArrayHttpMessageConverter
org.springframework.http.converter.StringHttpMessageConverter
org.springframework.http.converter.xml.SourceHttpMessageConverter
org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter


加入注解驱动标签时<mvc:annotation-driven />的状态
org.springframework.http.converter.ByteArrayHttpMessageConverter
org.springframework.http.converter.StringHttpMessageConverter
org.springframework.http.converter.ResourceHttpMessageConverter
org.springframework.http.converter.ResourceRegionHttpMessageConverter
org.springframework.http.converter.xml.SourceHttpMessageConverter
org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter
org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

HttpMessageConverter接口实现类

研发流程后端开发工具,提示功能开发效率 后端开发工具 立即下载

相关推荐

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并未涉及该主题的具体技术细节或仿真建模过程。相反,文档实质是一份由科研服务团队发布的跨学科资源目录,集中展示了大量基于Matlab、Simulink、Python、PSCAD等平台实现的科研项目与算法开发案例,涵盖电力系统、无人机路径规划、微电网优化、状态估计、信号处理、车间调度、图像处理、通信技术、雷达追踪、智能优化算法等多个工程技术领域。每个条目以“【】”标注研究主题,并注明“Matlab代码实现”“Python代码实现”等形式,表明其为可提供技术支持与代码资源的服务项目。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,明确体现出其作为科研辅助服务推广与引流工具的功能属性。; 适合人群:面向电气工程、自动化、控制科学与工程、计算机科学、智能制造、新能源、航空航天、通信工程及相关交叉学科的研究生、高校教师、科研人员及企业研发工程师。; 使用场景及目标:①为科研人员提供课题选题、技术路线设计与算法实现的参考范例;②辅助学生或研究人员完成课程设计、毕业论文、项目仿真与算法复现任务;③作为第三方技术服务团队的能力展示目录,便于潜在客户快速了解其在多领域提供的定制化仿真与算法开发服务范围。; 阅读建议:此文档并非传统意义上的学术论文或技术教程,而是一份高度碎片化、广告性质浓厚的资源索引清单。读者应忽略其误导性的文件名,将其视为一个综合性科研技术服务目录,重点关注自身研究方向相关的条目,并通过文末提供的公众号或网盘链接进一步获取具体代码与资料。同时,需注意甄别资源的技术质量、原创性与适用性,避免盲目依赖外部服务。

springmvc-210803-02---处理器方法的参数&Post请求中文乱码

springmvc-210803-02—处理器方法的参数&Post请求中文乱码 处理器方法的四类参数 下面演示—请求中所携带的请求参数 index.jsp(主页面) MyController.java(处理器—处理请求参数) web.xml(配置过滤器解决post中文乱码) show.jsp(结果页面) springmvc.xml Student.java 处理器方法的四类参数 处理器方法可以包含以下四类参数,这些参数会在系统调用时由系统自动赋值,即程序员可在方法内直接使用。 ➢

白光一的博客 1057

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

springmvc-210805-01---使用斜杠时路径问题

springmvc-210805-01—使用斜杠时路径问题 相对 / 绝对地址 请求页面不使用 " / " 请求页面使用 " / " 案例演示 index.jsp(只看这个两个就可) MyController.java(只看这个两个就可) show01.jsp / show02.jsp web.xml springmvc.xml 相对 / 绝对地址 举例:http://localhost:8080/springmvc_21080501/doSome01.do 绝对地址:http://loc

白光一的博客 595

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

解决Thingsboard数据下发难题:自定义RPC请求格式的3种方法(含源码修改指南)

本文详细介绍了解决Thingsboard数据下发难题的3种自定义RPC请求格式方法,包括规则链脚本转换、TB-Gateway中间层转换和源码级定制方案。通过实际案例和性能对比,帮助开发者根据项目需求选择最适合的解决方案,提升物联网平台与设备的兼容性。

weixin_29008691的博客 232

springmvc-210808-01---SpringMVC执行流程&映射器&适配器&视图解析器

springmvc-210808-01—SpringMVC执行流程&映射器&适配器&视图解析器 SpringMVC处理流程 SpringMVC处理流程 1. 用户发起some.do请求 2. DispatcherServlet接收请求some.do,把请求转交给处理器映射器(可以有多个) 处理器映射器作用: 根据请求,从springmvc容器对象中获取处理器对象(MyController controller = context.getBean("some.do"))

白光一的博客 555

华为海思IC前端中后端(COT&XPU)岗位笔试机考题

华为海思COT和XPU部门IC前端,IC中端,IC后端岗位笔试真题分享

weixin_37584728的博客 3362

springmvc-210803-01---@RequestMapping属性value和method

springmvc-210803-01—@RequestMapping属性value和method value属性 method属性 案例演示 MyController.java(处理器—使用value,method属性) index.jsp(主页面) testMethod.jsp(结果页面) springmvc.xml web.xml 运行结果 value属性 @RequestMapping 注解可以定义处理器对于请求的映射规则。 该注解可以注解在方法上,也可以注解在类上,但意义是不同的。

白光一的博客 526

多租户Saas架构设计分析(基础篇)

本篇先给大家介绍一下相关的概念和常见问题。 实践篇链接:https://blog.youkuaiyun.com/haponchang/article/details/104246317 SaaS简介 SaaS是Software-as-a-Service(软件即服务)的简称,“软件即服务”?是不是有点拗口?其实你就理解成为“按需租用别人提供的软件服务”就可以了,它是一种软件交付模式。...

haponchang的博客 1万+

​基于stm32的智能空气加湿器设计(含源代码和Proteus仿真)

课程设计分享

LoongSTUDIO的博客 2929

springmvc-210807-03---多个拦截器实现

springmvc-210807-03—多个拦截器实现 多个拦截器执行顺序 多个拦截器设置不同preHandle情况 MyInterceptor01.java(拦截器01) MyInterceptor02.java(拦截器02) dispatchServlet.xml(声明拦截器01,拦截器02) 多个拦截器执行顺序 多个拦截器执行顺序, 是按照声明的顺序执行。 <mvc:interceptors> <!-- 第一个拦截器 --> <m

白光一的博客 523

MATPOWER下载安装教程

将MATPOWER文件复制在C:\Program Files (x86)\MATLAB\R2016b\bin目录下。原来的窗口中多了很多文件路径,点击【保存】,再点击【关闭】选择所要添加的MATPOWER文件夹,点击【选择文件夹】二、将MATPOWER放在bin目录下。找到菜单栏的【设置路径】点击【添加并包含子文件】一、从官网下载后解压。

weixin_47365903的博客 2万+

springmvc-210807-01---拦截器

springmvc-210807-01—拦截器 实现步骤 拦截器顺序 一个拦截器顺序 多个拦截器顺序 实现步骤 1. 创建Controller类 2. 创建一个普通类,作为拦截器使用 1)实现HandlerInterceptor接口 2)实现接口中的三个方法 3. 创建show.jsp显示结果 4. 创建springmvc配置文件 1)组件扫描器,扫描@Controller注解 2)声明拦截器,指定拦截请求的uri路径 拦截器:相当于多个Controller中的公用功能,集中到拦截器统

白光一的博客 431

Linux 完全卸载 Neovim 的方法:解决权限问题和清除残留文件

Neovim 没有被完全卸载的原因,可能是因为它是通过非官方方式(如手动编译或二进制包)安装的。对于这种情况,使用apt卸载命令无法删除这些文件。因此,需要手动删除和中的相关文件。建议在安装软件时,尽量使用包管理器(如apt)进行安装,以便以后能够方便地卸载。如果你不太熟悉 Linux 系统,避免手动操作系统目录,除非你非常清楚自己的操作。通过上述方法,你应该能够彻底卸载 Neovim 并重新安装。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 4942

语言大模型之Tokenization的深入理解

Tokenization(分词)是自然语言处理(NLP)中一个非常重要的步骤,它的目标是将文本转换为模型可以理解的格式。对于像GPT、BERT等大型预训练模型来说,tokenization决定了文本如何转化为数字表示,从而影响模型在不同任务中的表现。接下来我会深入介绍tokenization的过程、不同的tokenization方法,以及它与模型微调(fine-tuning)之间的关系。

JustinMars的博客 342

springmvc-210804-01---解决在web.xml中url-pattern使用斜杠访问静态资源

springmvc-210804-01—解决在web.xml中url-pattern使用"/"访问静态资源 我的工程目录 演示 web.xml(在url-pattern使用 / ) springmvc.xml(第一种方式) springmvc02.xml(第二种方式) index.jsp MyController.java show.jsp 我的工程目录 演示 web.xml(在url-pattern使用 / ) <?xml versi

白光一的博客 364

C语言实现惯性导航初始对准全部核心代码

惯性导航初始对准包括间接粗对准和卡尔曼滤波精对准,其中。为基于卡尔曼滤波的精对准,其中。

十八与她的博客 2284

springmvc-210807-04---拦截器实现简单登录

springmvc-210807-04—拦截器实现简单登录 MyInterceptor01.java(拦截器) MyController.java(中央处理器) dispatchServlet.xml(springmvc配置文件) index.jsp login.jsp(登录页面,先运行这个jsp页面,让session有缓存) logout.jsp(退出页面,清除session缓存) show.jsp(登录成功页面) tips.jsp(登录失败页面) 我的工程目录 运行结果 MyInterceptor

白光一的博客 346

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

springmvc-210805-02---ssm整合流程

springmvc-210805-02—ssm整合流程 整合SSM 实现步骤 整合SSM SpringMVC:视图层,界面层,负责接受请求,显示处理结果。 Spring:业务层,管理service,dao,工具类对象的。 MyBatis:持久层,访问数据库 SpringMVC容器,管理Controller控制器对象。 Spring容器:管理Service,Dao,工具类对象。 我们要把使用的对象交给合适的容器创建和管理, 把Controller和web开发相关的对象交给SpringMVC容器,这些

白光一的博客 265

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

springmvc-210807-02---一个拦截器实现

springmvc-210807-02—一个拦截器实现 MyInterceptor.java(自定义拦截器类) MyController.java(处理器) dispatchServlet.xml(声明拦截器) index.jsp(主页面) tips.jsp(拦截器preHandle返回false页面) show.jsp(拦截器preHandle返回true页面) other.jsp(拦截器的postHandle:后处理方法,返回页面) web.xml 我的工程目录 MyInterceptor.jav

白光一的博客 246

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

springmvc-210806-02---异常处理

springmvc-210806-02—异常处理 异常处理步骤 演示异常处理 MyException.java(自定义异常类) NameException.java(自定义异常子类) AgeException.java(自定义异常子类) GlobalExceptionHandler.java(全局异常处理类) MyController.java(手动定义异常,用来测试) index.jsp(主界面) show.jsp(没有异常显示页面) ageError.jsp(AgeException异常页面) nam

白光一的博客 225

springmvc-210803-04---处理器方法的返回值的实现

springmvc-210803-04—处理器方法的返回值的实现 MyController.java(这里是返回值,笔记也在这儿) index.jsp(主页面) springmvc.xml(注册驱动mvc:annotation-driven) show.jsp pom.xml(引入json依赖) web.xml MyController.java(这里是返回值,笔记也在这儿) package com.bgy.controller; import com.bgy.vo.Student; import

白光一的博客 225

springmvc-210802-02---开发步骤

springmvc-210802-02—开发步骤&实现案例 开发步骤 我的项目目录 实现案例 pom.xml(引入依赖) web.xml(注册SpringMVC框架的核心对象DispatcherServlet) index.jsp(请求页面) MyController.java(创建控制器类) show.jsp(结果页面) springmvc.xml(开启组件扫描) 运行结果 开发步骤 1. 创建web maven工程 2. 加入依赖 3. 在web.xml中注册SpringMVC框架的

白光一的博客 220

springmvc-210806-01---转发forward&重定向redirect

springmvc-210806-01—转发forward&重定向redirect 演示 MyController.java(笔记在这儿) index.jsp(主页面) show.jsp(显示页面WEB-INF/viw/show.jsp) testForward.jsp(测试转发页面) testRedirect.jsp(测试重定向页面) web.xml dispatchServlet.xml 我的目录结构 在servlet中 forword:转发,实现---->request.

白光一的博客 207
上一篇: springmvc-210803-02---处理器方法的参数&Post请求中文乱码
下一篇: springmvc-210803-04---处理器方法的返回值的实现
白光一
博客等级 码龄9年 0粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值