SpringMVC之JSON交互

#操作:

1).添加相关Spring包,另外,在http://mvnrepository.com/artifact/com.fasterxml.jackson.core下载

fastjson包,其实在github上有相关代码备份;

2).在web.xml中配置前端控制器和Spring-config.xml的路径;

3).在Spring-config.xml中,添加额外如下配置:

 <mvc:annotation-driven>
    <!--配置@ResponseBody由fastjson解析-->
        <mvc:message-converters>
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"/>
        </mvc:message-converters>
    </mvc:annotation-driven>
    <mvc:default-servlet-handler />

    <!-- 支持mvc注解驱动 -->
    <!--在spring中一般采用@RequestMapping注解来完成映射关系,
    要想使@RequestMapping注解生效必须向上下文中注册    DefaultAnnotationHandlerMapping    和一个AnnotationMethodHandlerAdapter
    实例,这两个实例分别在类级别和方法级别处理。而annotation-driven配置帮助    我们自动完成上述两个实例的注入。-->
    <mvc:resources location="/js/" mapping="/js/**"/>

4).根据表单写javaBean;

5).写jsp页面,这里面涉及到ajax

 1 <%--
 2   Created by IntelliJ IDEA.
 3   User: shijinglu
 4   Date: 2019/2/1
 5   Time: 20:21
 6   To change this template use File | Settings | File Templates.
 7 --%>
 8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 9 <html>
10 <head>
11     <title>测试JSON交互</title>
12
13     <!--引入js文件,引入路径 从当前项目的js文件夹下的jquery-1.11.3.min.js-->
14     <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js">
15     </script>
16     <!--写一个function testJson()-->
17     <script type="text/javascript">
18         function testJson() {
19             <!--获取用户输入的用户名和密码-->
20             var username=$("#username").val();
21             var password=$("#password").val();
22             <!--发一个ajax请求-->
23             $.ajax({
24                 <!--testJson路径  默认是当前页的地址,这里是交给testJson处理-->
25                 url:"${pageContext.request.contextPath}/testJson",
26                 type:"post",
27                 <!--把发送过来的数据转换成json字符串-->
28                 data:JSON.stringify({username:username,password:password}),
29                 <!--请求类型设置为json字符串,并设置字符集为utf-8-->
30                 contentType: "application/json;charset=UTF-8",
31                 <!--定义回调的响应格式为json字符串,该属性可以省略-->
32                 dataType:"json",
33                 success : function(data) {
34                     if(data !=null){
35                         alert("您输入的用户名为:"+data.username+"密码为:"+data.password);
36                     }
37                 }
38             });
39
40         }
41     </script>
42 </head>
43 <body>
44 <form>
45     用户名:<input  name="username" id="username"><br/>
46     密&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" id="password"><br/>
47     <input type="button" value="测试json交互" onclick="testJson()">
48 </form>
49 </body>
50 </html>

6).写控制器;

@Controller  //表示控制器  等价于在配置文件里面写bean id
public class UserController{

     /**
      * 接收页面请求的数据,并以json格式返回数据
      * */
     @RequestMapping(value="/testJson",method = RequestMethod.POST,consumes = "application/json")
     //@ReponseBody:是把user对象转换为json,因为响应端的浏览器不认识java对象,但认识js对象标记。
    @ResponseBody
     //@RequestBody:把请求的json字符串(data后面的内容)转换成user对象
    public User testJson(@RequestBody User user){
         System.out.println(user);
         //并返回json格式
         return user;
     }
}

原理待补充;

原文地址:https://www.cnblogs.com/shijinglu2018/p/10349401.html

时间: 2024-07-28 12:57:27

SpringMVC之JSON交互的相关文章

Ajax和SpringMVC之间JSON交互

Ajax和SpringMVC之间的json数据传输有两种方式: 1.直接传输Json对象 2.将Json序列化成json字符串 1.直接传输Json对象 前端Ajax $(document).ready(function(){ $("#btn_login").click(function(){ var dataJson = { username:$("#username").val(), password:$("#password").val()

SpringMVC详解(六)------与json交互

Json(JavaScript Object Notation),它是一种轻量级数据交换格式,格式简单,易于读写,目前使用特别广泛.那么这篇博客我们主要谈谈在 SpringMVC 中,如何对 json 数据格式进行解析和转换? 本篇博客源码链接:http://pan.baidu.com/s/1kURnwDx 密码:b37t 1.两种交互模式 上图显示了客户端请求数据的两种格式,一种是 直接请求 json 数据,另一种是 key/value 数据.但是不管请求是哪种数据,为了在前端页面方便对结果进

SpringMVC学习--json

简介 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便.比如:webservice接口,传输json数据. springmvc与json交互 @RequestBody和@ResponseBody      @RequestBody 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json.xml等格式的数据并绑定到controller方法的参

springMVC和Json的交互(就是后台解析json字符串和向前台传递json字符串的过程)

springMVC中和json的交互:主要分为两点,一是传递过来的是json字符串,springMVC会先进行解析,二是传递过来的是key:value那么springMVC可以不进行解析,这里的解析指的是json和java对象之间的转换 java对象:就是实体类的对象 首先先来看一张交互的图: 分析: 1.从这个图中我们可以看出来,前台请求的数据如果是json字符串,我们需要用@RequestBody先将json字符串转成java对象,然后前台传输的是java对象的时候就需要用@Response

SpringMVC框架五:图片上传与JSON交互

在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失 为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录. 上传图片: <form method="post" enctype="multipart/form-data"> <input type="file" name="pictureFile"> </form>

springmvc与ajax交互

Jsp页面: 需要引入jquery-1.10.2.min.js.json2.js.jquery.json-2.3.js三个文件 <%@ page contentType="text/html; charset=utf-8" language="java" errorPage=""%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/co

Spring mvc 前后台通过json交互【转】

原文转自:https://www.cnblogs.com/zhaojiankai/p/8184596.html 本节内容: @RequestBody @ResponseBody 请求json,响应json实现 前端可以有很多语言来写,但是基本上后台都是java开发的,除了c++(开发周期长),PHP和#Net(追求速度,快速开发)这3种也可以写后台. 浏览器和java程序打交道,用jsp.js. 安卓.IOS客户端和Java程序打交道,发送的是JSON字符串.Java程序接收到,解析JSON字符

springMVC传递JSON格式数据

这两天在使用SpringMVC传递JSON数据格式,出现了各种令人头大的问题,但是功夫不负有心人,最后还是解决了问题.在这里记录下来供大家参考,如有不对,还请各位大侠指正. 在SpringMVC传递JSON数据格式需要加入两个jar包:com.springsource.org.codehaus.jackson-1.4.2.jar,com.springsource.org.codehaus.jackson.mapper-1.4.2.jar. 实体JavaBean:Person  具有tname,g

配置SpringMVC返回JSON遇到的坑

坑一:官方网站下载地址不明朗,最后找了几个下载地址:http://wiki.fasterxml.com/JacksonDownload Jackson2.5下载地址:jackson2.5.0.jar 坑二:配置文件的配置信息跟jackson的版本有关. 版本一: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter 版本二:org.springframework.http.converter.json