SpringMVC请求参数和返回值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
中央调度器,处理请求方式:当使用“/”时
在这里插入图片描述
不能处理静态资源
解决:
使用Tomcat默认Servlet
或者其他应用服务器
在这里插入图片描述
第二种方法:
一般使用:
静态资源处理方式:
不放在WEB-INF下,可以不被外部访问到
在这里插入图片描述
使用注解方法时,
此时,不能加载静态资源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是能点击some.do
在这里插入图片描述
使用先前说好的方法处理:
使用标签:
在这里插入图片描述
可以正常访问图片
在这里插入图片描述
但是点击访问some.do出错:
在这里插入图片描述
原因:
此Resource标签
在这里插入图片描述
与RequestMapping冲突。
解决方式:
再加一个注解驱动标签:
在这里插入图片描述

当RequestMapping下的参数与传入的参数name不匹配的时候,怎么正常正确赋值?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时,正常使用!

但是,还有个问题:
当访问RequestMapping的路径,不带参数时:
在这里插入图片描述
原因:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
逐个接受,参数过多时,太麻烦

可以使用对象方式接收:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建一个对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
尝试访问:
在这里插入图片描述
在这里插入图片描述
再看它的执行顺序
在这里插入图片描述
说明,再执行方法之前,先调用了无参构造方法,和属性的set方法

可以同时传入多个对象和属性
在这里插入图片描述

处理器方法的返回值:

在这里插入图片描述
又要处理数据,又要指定视图:ModelAndView
只返回指定视图:String
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
视图解析器:
在这里插入图片描述

前端页面:
在这里插入图片描述
自定义的处理器
在这里插入图片描述
在这里插入图片描述
没有返回数据,因为处理器只返回了指定视图,没有返回结果数据。
在这里插入图片描述
解决办法:
在这里插入图片描述

当处理器返回视图为完整路径时:
在这里插入图片描述
此时,若是继续使用视图解析器:
在这里插入图片描述
在这里插入图片描述
能接收参数,但是没法返回页面
在这里插入图片描述

返回值为Void:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前端页面:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
尝试访问:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由前端的type定义
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接收时修改为:
在这里插入图片描述
在这里插入图片描述
如果不加datatype时
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
*/*表示任意格式
响应中:
在这里插入图片描述
没有将返回的json当成一个对象使用

在这里插入图片描述
在这里插入图片描述
也就是说
定义了datatype后,就是把返回的json当成一个对象来处理
在这里插入图片描述
不定义datatype时,返回结果照原始的样式输出
原始数据为:
在这里插入图片描述

返回对象:

在这里插入图片描述
在这里插入图片描述
一般用在ajax请求中。

对象的转换和输出:

在这里插入图片描述
将对象转化为json:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表单:
请求中的数据:
在这里插入图片描述
接收的对象:
在这里插入图片描述
调用,看是否能够将mediaType数据转化为需要的类型
在这里插入图片描述
如果能转化,
在这里插入图片描述
将inputMessage转化为clazz对象。

输出的时候:
校验时候可以将给定的对象转化为mediaType类型
在这里插入图片描述
将对象t,按照contentType输出给outputMessage
在这里插入图片描述
在这里插入图片描述
看下MediaType:
在这里插入图片描述
它的属性:
对应表单数据:
在这里插入图片描述
对应json
在这里插入图片描述
对应二进制:
在这里插入图片描述
等:
在这里插入图片描述
在这里插入图片描述
消息转换器:
在这里插入图片描述
有不同的实现类:需要的时候,找到对应的就行
在这里插入图片描述
默认加载4中实现类,并没有处理json的实现类
我们使用的时候,
在这里插入图片描述
创建7个实现类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体使用示例:
在这里插入图片描述
json工具库:
在这里插入图片描述
声明注解驱动:
视图解析器,可用可不用,和它没关系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时前端:
在这里插入图片描述
在这里插入图片描述
此时请求的数据时json
在这里插入图片描述
而我们响应的是字符串
在这里插入图片描述
出错。
修改为:不请求json数据
在这里插入图片描述
在这里插入图片描述
在响应头中
在这里插入图片描述
可能存在乱码。

在这里插入图片描述
在这里插入图片描述
和以上代码对应:
在这里插入图片描述
对应
在这里插入图片描述
在这里插入图片描述
对应
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解决方式:
在这里插入图片描述
其中:
produces中
“;”之前为数据格式。
text为:文本数据,表示大类型
plain:输出的没有标签等
如果:
在这里插入图片描述
表示:输出文本中可能包换html标签。
不管是plain还是html,都属于text。
在这里插入图片描述
在这里插入图片描述
为什么默认为iso-8859-1?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果接口中有返回值,使用HttpMessageConverter中的write方法
在这里插入图片描述
在这里插入图片描述
实现类执行:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回自定义对象:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也就是说,框架将返回的对象,转化为json对象,使用utf8编码。
若是改为:
在这里插入图片描述
在这里插入图片描述
当返回值为自定义类时:
框架中使用的消息转换类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回值为List集合:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
得到的是个json数组。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值