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>
自动化学习。