springMVC Mybatis ssm整合 post请求json 响应json数据配置
1、pom.xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.32</version>
</dependency>
2、springmvc-config.xml
<!--开启mvc的注解驱动-->
<mvc:annotation-driven />
3、Controller
package org.example.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.example.model.fine_conf_xmlentity;
import org.example.service.FineConfXmlentityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import com.alibaba.fastjson.JSON;
import java.util.List;
@Controller
@RequestMapping(value = "/login")
public class fineConfXmlentityController {
@Autowired
public FineConfXmlentityService fine;
/*
* 阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
源码地址:https://github.com/alibaba/fastjson
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
* */
@RequestMapping(value = "/ajax/pos" ,method = RequestMethod.POST)
@ResponseBody // 定义返回json数据给前台
// public Object repostRespone(@RequestParam(value = "username") String name,@RequestBody JSONObject reqf){
public Object repostRespone(@RequestParam(value = "username") String name,@RequestBody JSONArray reqf){
JSONArray lst = fine.queryAll();
// System.out.println(o);
System.out.println("测试json数据接收:"+reqf);
//将字符串格式的字段转换为JSon字段
System.out.println(name);
System.out.println(reqf.get(0));
// return lst;
return lst;
}
}
4、html js请求
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<script type="text/javascript" src="/static/code.jquery.com_jquery-3.7.0.min.js"></script>
<body>
<button id="btn" onclick="myFunction()" >
<h6>成功测试</h6>
</button>
<div id = "myDiv"> </div>
<script type="text/javascript">
function myFunction(){
// var date = {id:"管理员",value:"123456"}
// var category={"name":"James","id":"001"};
var date = [{id:"管理员",value:"123456"},"FDASFDS",12321]
var jsonData = JSON.stringify(date);
$.ajax({
//${pageContext.request.contextPath}用于取后端方法的绝对路径的项目名
url: "/login/ajax/pos?username=admin",
type: "post",
data:jsonData, //必须是字符串格式
contentType:"application/json;charset=UTF-8", //指定内容格式
dataType:"json",
success: function(data) { //括号里的data是服务器返回的数据
alert("Hello World!");
console.log(data);
}
});
}
</script>
</body>
</html>
自动化学习。

浙公网安备 33010602011771号