`

spring mvc中AJAX请求返回JSON

阅读更多

1).spring 对JSON的支持依赖2个jar包

  1. <dependency>  
  2.     <groupId>org.codehaus.jackson</groupId>  
  3.     <artifactId>jackson-core-asl</artifactId>  
  4.     <version>1.8.4</version>  
  5. </dependency>  
  6. <dependency>  
  7.     <groupId>org.codehaus.jackson</groupId>  
  8.     <artifactId>jackson-mapper-asl</artifactId>  
  9.     <version>1.8.4</version>  
  10. </dependency> 

2.加入开启注解支持<mvc:annotation:driven/>。默认初始化DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter。AnnotationMethodHandlerAdapter默认开启7个消息转换器,分别是:

ByteArrayHttpMessageConverter

 

StringHttpMessageConverter

 

ResourceHttpMessageConverter

 

SourceHttpMessageConverter<T>

 

XmlAwareFormHttpMessageConverter

 

Jaxb2RootElementHttpMessageConverter

 

MappingJacksonHttpMessageConverter

a.如何寻找对应的converter

a1.注册消息转换器

a2.从客户端请求的header中寻找客户端可以接收的类型,比如  Accept application/json,application/xml等,组成一个集合

a3.HttpMessageConverter 具有canRead和canWrite方法 返回值都是boolean,验证HttpMessageConverter是否支持当前请求的读与写,读对应@RequestBody注解, 写对应@ResponseBody注解

a4.遍历HttpMessageConverter集合与前面获取可接受类型进行匹配,如果匹配直接使用当前第一个匹配的HttpMessageConverter,然后return.匹配根据accept和返回的类型

StringHttpMessageConverter           

支持String , Accept所有类型

MappingJacksonHttpMessageConverter  

支持Map List 实体对象等等  ,Accept:application/json

 

3.根据需求修改AnnotationMethodHandlerAdapter的HttpMessageConverter集合。

<beans:bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <beans:property name="messageConverters">
            <beans:list>
                <beans:bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/> 
                <beans:bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/> 
               
                <beans:bean class="org.springframework.http.converter.ResourceHttpMessageConverter"/> 
                <beans:bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"/> 
                <beans:bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter"/> 
            </beans:list>
        </beans:property>
    </beans:bean>

4.代码中加入@ResponseBody和@RequestBody以支持ajax 

5.前台ajax调用$.getJSON(account/availability, { name: $('#name').val() },

 

分享到:
评论

相关推荐

    Spring3 MVC Ajax with JSON

    这个项目提供的示例工程应该包含了一个工作流程的完整实例,从Ajax请求到Spring MVC的处理,再到JSON响应的返回,帮助开发者理解并掌握这一技术栈的使用。通过深入研究和实践,你将能够熟练地在自己的项目中应用这些...

    spring mvc+ajax

    在Spring MVC中集成Ajax,通常会在前端使用JavaScript库如jQuery来发送Ajax请求。例如,我们可以创建一个AJAX函数,通过`$.ajax()`或`$.getJSON()`等方法向后台发送异步请求。这些请求通常带有特定的URL和参数,对应...

    Spring MVC 中 AJAX请求并返回JSON的示例

    本文将深入讲解如何在Spring MVC中通过AJAX发送请求,并返回JSON(JavaScript Object Notation)数据。 首先,AJAX请求通常由JavaScript代码触发。在提供的示例中,我们看到一个名为`saveSynchronizedVcHorse`的...

    一个实用了spring mvc和ajax异步请求的例子

    在这个例子中,前端向'/api/posts'发送GET请求,Spring MVC的Controller收到请求后,查询数据库并返回JSON格式的文章列表。前端的success回调函数接收到数据后,将文章标题添加到页面的列表中。 总结起来,这个"一...

    Spring + Hibernate + Spring mvc +Ajax 整合

    在Spring MVC中,可以通过配置Ajax处理器或使用jQuery等库来实现Ajax请求。这样,用户可以进行数据的增删查改,而界面保持不刷新,提升了交互性。 在给定的"Spring + Hibernate + Spring mvc +Ajax 整合"项目中,...

    Spring MVC与Ajax交互源码

    例如,当用户在前端进行某些操作,如提交表单,我们可以使用Ajax发送POST请求到Spring MVC的Controller,Controller处理业务逻辑后,将结果以JSON或其他格式返回。JavaScript接收到响应后,可以在前端动态更新页面,...

    spring mvc json&&jackson jquery js

    Spring MVC还提供了`@JsonView`注解来控制JSON响应中的数据粒度,以及`@JsonProperty`和`@JsonIgnore`来控制哪些字段应包含在JSON中。 **jQuery和JavaScript** jQuery是一个流行的JavaScript库,简化了DOM操作、...

    springMVC+ajax+json

    在Spring MVC中,Controller可以返回JSON格式的数据响应Ajax请求。通过在@RequestMapping注解中指定produces="application/json",表明该方法将返回JSON数据。然后,使用@RequestBody或@ResponseBody注解将HTTP请求...

    Spring mvc+Ajax用户登录增删改查功能

    在Web开发中,Spring MVC和Ajax是两种非常重要的技术。Spring MVC作为Spring框架的一部分,提供了一种模型-视图-控制器的架构模式,使得开发者能够更好地组织和管理后端业务逻辑。而Ajax(Asynchronous JavaScript ...

    spring-mvc-jsonview源代码

    在Spring MVC中,通过配置JSON视图解析器,我们可以将Java对象转换为JSON格式,以便通过HTTP响应返回给客户端,如AJAX请求。Spring MVC内置了Jackson和Gson等库,可以方便地实现JSON序列化和反序列化。 二、Spring ...

    spring mvc+ajax 文件上传

    本示例探讨的是如何利用Spring MVC后端框架与前端的Ajax技术来实现高效的文件上传,相较于传统的表单提交方式,这种方法具有无刷新、用户体验更佳的优势。以下是关于这个主题的详细讲解。 首先,我们需要理解Spring...

    ajax向springmvc传递json

    5. Content-Type 设置:为了使Spring MVC能够识别JSON数据,需要在Ajax请求中设置Content-Type头为"application/json"。例如,在jQuery中: ```javascript $.ajax({ url: "/api/endpoint", type: "POST", ...

    mvc-ajax.rar_spring mvc

    在本示例中,“mvc-ajax.rar_spring mvc”是一个包含使用Ajax技术与Spring MVC集成实现账号添加功能的项目。让我们深入探讨这个主题。 首先,Spring MVC是Spring框架的一个组件,专门用于处理Web应用程序的请求和...

    Spring MVC – Easy REST-Based JSON Services with @ResponseBody

    在这个例子中,`/users`路径的GET请求会调用`getUsers`方法,该方法返回一个User对象列表,Spring MVC会自动将这个列表转换成JSON格式,并发送给客户端。 在实际项目中,我们还需要配置数据访问层(如JPA、...

    Jackson相关jar包,springMVC的Ajax请求,JSON

    通过使用Jackson,我们可以方便地处理Ajax请求返回的JSON数据。例如,后端控制器可以创建一个返回JSON响应的方法,该方法将数据转化为JSON格式,然后利用Jackson的`ObjectMapper`类将其写入HTTP响应的输出流。 ```...

    四. Spring MVC 3 支持json及 常见错误解决

    4. **JSON与Ajax**:Spring MVC 3与jQuery或其他JavaScript库配合,可以方便地实现Ajax请求和响应,以JSON形式进行数据交换。 **二、常见错误解决** 1. **406 Not Acceptable**:这个错误通常是因为客户端没有在...

    第三章 Spring MVC Servlet API与Json的支持

    3. 异步请求(如AJAX)中,通过`@ResponseBody`返回JSON数据,更新页面部分区域。 4. 实现RESTful API,使用HTTP动词(GET, POST, PUT, DELETE)和资源路径,配合JSON数据进行增删查改操作。 综上所述,Spring MVC...

    Json-RPC & Spring MVC 集成

    4. **客户端调用**:在客户端,使用AJAX或者其他JSON-RPC客户端库,向服务器发送请求并处理返回的结果。 例如,一个简单的JSON-RPC服务类可能如下: ```java @Service("jsonRpcService") public class ...

    平台java前端ajax,json请求

    例如,在Spring MVC中,你可以创建一个控制器方法,使用`@RequestBody`注解来接收JSON数据: ```java @PostMapping("/api/endpoint") public ResponseEntity&lt;?&gt; handleJsonRequest(@RequestBody YourPojo yourPojo)...

    Spring MVC跟jQuery和Twitter Bootstrap的结合

    3. **数据绑定**:Spring MVC支持JSON或XML格式的数据交换,jQuery可以通过Ajax请求发送和接收这些格式的数据。使用`@RequestBody`和`@ResponseBody`注解,Spring MVC可以将JSON数据自动映射到Java对象。 4. **表单...

Global site tag (gtag.js) - Google Analytics