首页 > 其他分享 >spring MVC 中json格式数据发送与接收

spring MVC 中json格式数据发送与接收

时间:2023-03-22 15:06:18浏览次数:35  
标签:spring RequestBody ResponseBody json MVC user 接收 testConverter


在web程序开发中,前端和服务器数据的传输方式常用的有两种,一种是以表单的形式提交,此时可以利用jquery的serialize()方法将表单内 容转为a=1&b=2&c=3&d=4&e=5这样的格式传输过去,接收端则可以用javabean直接接收。
还有一种方式是以json格式传输,接收时若直接用bean接收则接收不到,此时应该用@RequestBody方式,需要注意的是接收的需要是json串,而不是json对象,可以在发送前使用JSON.stringify函数进行处理。
例子如下
客户端:
 



var url=path+'testConverter.html';

$.ajax( {

url : url,

type : "POST",

dataType:"json",

contentType:'application/json;charset=UTF-8',

data:JSON.stringify({userId:'1',userName:'hello',password:'test',credits:'2',lastIp:'',lastVisit:'1986-05-27'}),

success : function(data) {

alert(data.userName);



},

error:function(e){

alert("err");

}


服务端:

@RequestMapping(value="/testConverter.html")

@ResponseBody

public User testConverter(@RequestBody User user)

{

System.out.println(user.getUserName());

user.setUserName("testname");

return user;

}


上面例子中服务端返回的是个对象,@ResponseBody函数会自动将其转换为客户端要求的‘ dataType:"json",’格式。

最后需要注意的是

1,在xxx-serverlet配置文件中应该写上,以便可以使用 @ResponseBody和@RequestBody



contentType:'application/json'



3,数组内容要用[]而不是list,用list会接收到一个map对象,而不是bean

标签:spring,RequestBody,ResponseBody,json,MVC,user,接收,testConverter
From: https://blog.51cto.com/u_2650279/6142621

相关文章

  • spring mvc 3 国际化(下)——简单自定义操作
    根据域名来判断用户语言:1.定义一个对象;SelfLocaleResolver1.publicclassSelfLocaleResolverextends2.@Override3.public4.if("127.0.0.1".equalsIgnoreCase(requ......
  • springboot动态修改properties文件
    importjava.io.BufferedWriter;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStreamWriter;......
  • 不用spring,可以吗?
    摘自:https://www.zhihu.com/question/537894826Java开发不用Spring生态有前途吗?比如在某些大厂自己封装好的框架直接用,感觉没啥提升新增:做后端web开发。这套框架......
  • daemon.json 常用配置项
    {"registry-mirrors":["https://fv50tv30.mirror.aliyuncs.com","https://reg-mirror.qiniu.com"],"dns":["114.114.114.114","8.8.8.8"],"dat......
  • SMU Spring 2023 Trial Contest Round 1(6/8)
    SMUSpring2023TrialContestRound1(6/8)A.PrependandAppendPrependandAppend只需考虑给定字符串两端是否符合10或01即可,双指针从两端模拟即可。#include<iost......
  • SpringMVC配置文件位置
    [size=large][color=red]在工程内:[/color][/size]<context:property-placeholderlocation="classpath:/site.properties"/>[size=large][color=red......
  • Spring MVC视图解析器:配置多个视图解析器的优先级
    [color=red]问题[/color]在SpringMVC应用程序中,我们经常需要应用一些视图解析器策略来解析视图名称。例如,联合使用三个视图解析器:InternalResourceViewResolver、Resourc......
  • Spring MVC拦截器+注解方式实现防止表单重复提交
    原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。注,如果是集群的方式,则需要将tok......
  • Java Spring使用EventSource进行服务端推送
    Java代码:@ResponseBody@RequestMapping(value="/getDate",produces="text/event-stream;charset=UTF-8")publicvoidgetDate(HttpServletResponse......
  • Spring线程池ThreadPoolTaskExecutor
    1.线程池配置@ConfigurationpublicclassTaskExecutorConfigimplementsAsyncConfigurer{@Value("${async.core.pool.size:10}")//核心线程数privateIn......