我们在本示例中,使用Spring3.0 MVC, Spring 3.0 MVC已经支持JSON了。
这里我们使用基于注解的方式,也是springMVC 3.0所支持的RESTFul风格的。
1.Spring MVC处理json数据时,所必须的jackson依赖,这里以maven构建为例:
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>1.8.4</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.8.4</version>
- </dependency>
2.在spring mvc的配置文件中加入配置
- <context:component-scan base-package="com.hundsun.twioo.business.action" />
- <bean class="org.springframework.web.servlet.mvc.annotation.
- DefaultAnnotationHandlerMapping" />
- <bean class="org.springframework.web.servlet.mvc.annotation.
- AnnotationMethodHandlerAdapter" >
- <property name="messageConverters">
- <util:list id="beanList">
- <ref bean="mappingJacksonHttpMessageConverter"/>
- </util:list>
- </property>
- </bean>
- <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.
- http.converter.json.MappingJacksonHttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <value>text/html;charset=UTF-8</value>
- </list>
- </property>
- </bean>
- <context:annotation-config/>
注意:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter的Bean配置中,我们加入了messageConverters属性,在该属性中我们有配置mappingJacksonHttpMessageConverter这个Bean,它就是用来处理json数据转换的。
在mappingJacksonHttpMessageConverter的Bean配置中,我们有一个supportedMediaTypes属性,在这个属性
中我们添加了text/html;charset=UTF-8这个值,它是为了处理返回的json数据的编码,默认是ISO-88859-1的,这里我们把它设置为UTF-8,如果有乱码的情况,我们只需要修改这里就可以了。
3.控制器Controller上的注解使用
- @Controller
- @RequestMapping("/logins")
- public class LoginController {
- @Autowired
- private LoginManagerService loginManagerService;
- @Autowired
- private PermitManagerService permitManagerService;
- private Logger log = Logger.getLogger(LoginController.class);
- /**
- * 用户登录系统
- * @return
- */
- @RequestMapping(value="/login")
- public ModelAndView login(HttpServletRequest request,HttpSession session){
- User user = null;
- List<Module> moduleList = null;
- try {
- //TwiooID
- Integer twiooId = ServletRequestUtils.getIntParameter(request, "twiooId");
- //群ID
- Integer groupId = ServletRequestUtils.getIntParameter(request, "groupId");
- user = loginManagerService.login(twiooId, 3);
- if(null != user){
- moduleList = permitManagerService.findPermit(user.getId());
- }
- session.setAttribute("user", user);
- session.setAttribute("permit", moduleList);
- session.setAttribute("twiooId", twiooId);
- session.setAttribute("groupId", groupId);
- } catch (Exception e) {
- e.printStackTrace();
- log.error("LoginController.login() execute error!!!");
- }
- System.out.println("login...................");
- return new ModelAndView("index");
- }
- /**
- * 用户退出系统
- * @return
- */
- @RequestMapping(value="/exit")
- public ModelAndView exit(HttpServletRequest request,HttpSession session){
- session.removeAttribute("user");
- session.removeAttribute("permit");
- session.removeAttribute("twiooId");
- session.removeAttribute("twiooId");
- System.out.println("exit....................");
- return new ModelAndView("index");
- }
- /**
- * 测试返回JSON数据
- * @param session
- * @return
- */
- @RequestMapping(value="/test")
- @ResponseBody
- public Object test(HttpSession session){
- System.out.println("test....................");
- return session.getAttribute("permit");
- }
- public LoginManagerService getLoginManagerService() {
- return loginManagerService;
- }
- public void setLoginManagerService(LoginManagerService loginManagerService) {
- this.loginManagerService = loginManagerService;
- }
- public PermitManagerService getPermitManagerService() {
- return permitManagerService;
- }
- public void setPermitManagerService(PermitManagerService permitManagerService) {
- this.permitManagerService = permitManagerService;
- }
- }
注意:test()方法上,我们使用了一个@ResponseBody的注解,Spring3.0 MVC @ResponseBody的作用是把返回值直接写到HTTP response body里。 test()这个方法就是我们这里关注的地方,它就是返回json数据到客户端去的。还要注意,这个test()方法返回的是Object(这里可以是任意类型),而不ModelAndView。
相关推荐
在Spring MVC框架中,开发Web应用时经常需要将对象转换为JSON格式的数据并返回给客户端。然而,在处理敏感数据时,我们可能希望对这些数据进行脱敏,即隐藏或替换某些字段,以保护用户隐私或者确保数据安全性。本文...
在这个学习笔记中,我们将深入探讨如何在Spring MVC中处理JSON格式的数据,包括输入和输出。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输。 1. **JSON格式简介** ...
4. **控制器方法的编写**:在 Spring MVC 的控制器类中,我们可以定义处理 HTTP 请求的方法,并使用 `@RequestBody` 和 `@ResponseBody` 注解来接收和返回 JSON 数据。例如: ```java @RequestMapping(value = "/...
在Spring MVC中,为了将Java对象转换成JSON格式并返回给客户端,我们需要依赖于JSON库。在提供的信息中,提到了`jackson-all-1.9.x.jar`系列的包,这是Jackson库的一个早期版本。Jackson是一个非常流行的JSON处理库...
在Spring MVC 3中,对JSON的支持是其重要的特性之一,它使得前后端数据交互更加便捷,尤其在如今的Web应用中,JSON已经成为数据传输的标准格式。本篇将深入探讨Spring MVC 3对JSON的支持以及解决常见错误的方法。 ...
1. **创建Controller**:定义Spring MVC的控制器类,使用`@RequestMapping`注解映射URL,并使用`@ResponseBody`返回JSON数据。 2. **配置Jackson**:在Spring配置文件中启用Jackson并配置其属性,如日期格式化。 3. ...
总的来说,解决Spring MVC3返回JSON数据中文乱码的问题,关键在于正确设置字符编码。无论是使用Java的PrintWriter直接写入UTF-8编码的数据,还是先将数据编码为GBK后写入到ServletOutputStream中,又或者是在框架...
在本教程中,我们将深入探讨如何使用Spring MVC框架构建一个返回JSON格式数据的服务器。首先,这个项目涉及的技术栈包括Spring MVC、JDBC、JSON以及Gson。Spring MVC是Spring框架的一部分,它允许我们构建RESTful ...
在这个过程中,我们将学习如何使用 Spring MVC 来创建一个返回 JSON 格式数据的服务器,以及如何在 Android 应用中消费这些数据。 ### 第一部分:环境准备 1. **Eclipse Neon**:这是一个集成开发环境,用于编写 ...
这个项目提供的示例工程应该包含了一个工作流程的完整实例,从Ajax请求到Spring MVC的处理,再到JSON响应的返回,帮助开发者理解并掌握这一技术栈的使用。通过深入研究和实践,你将能够熟练地在自己的项目中应用这些...
当返回类型为@RequestBody或@ResponseBody时,Spring MVC会自动将返回的对象转换为JSON,发送到客户端。 三、源代码分析 1. pom.xml:项目依赖管理文件,包含了Spring MVC、Jackson库和其他相关依赖。例如,添加...
最近在整spring mvc 返回json的配置,网上搜集整理了一下,觉得蛮有用的就共享出来,三个必备json包并附spring mvc 返回json的配置,此包有两个版本json包,一个2.6一个2.2
在Spring MVC框架中,处理JSON数据是Web应用开发中的常见任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得前后端数据交互变得更加简单和直观。本篇文章将详细讲解在Spring MVC中如何...
总有4个包 jackson-core-asl-1.9.13.jar jackson-core-lgpl-1.9.13 jackson-mapper-asl-1.9.13 jackson-mapper-lgpl-1.9.13
在这个“SpringMVC返回JSON数据相关Jar包”中,包含了支持SpringMVC处理JSON数据所需的关键组件。 首先,我们需要理解SpringMVC如何处理JSON数据。在SpringMVC中,我们使用`@ResponseBody`注解标记在Controller方法...
本示例提供了一个完整的返回JSON数据的接口的Spring MVC Demo,帮助开发者理解如何在Spring MVC应用中实现JSON序列化和反序列化。 首先,我们需要了解JSON的基本结构。JSON是一种轻量级的数据交换格式,它基于...
总的来说,这个项目实例提供了学习和理解Spring MVC与Servlet整合,以及如何使用它们从数据库获取数据并以JSON格式返回给客户端的宝贵机会。通过分析和运行源码,开发者可以更深入地掌握这些技术,并将其应用到自己...
本文将深入探讨Spring MVC中JSON处理的实现流程,包括接收JSON参数和返回JSON响应。 1. **接收JSON参数** 当前端(如浏览器)向服务器发送JSON数据时,Spring MVC 提供了多种接收方式。一种是通过`...
在本文中,我们将深入探讨“Spring MVC JSON学习”这一主题,重点关注如何在Spring MVC应用中处理JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁性和易读性而被广泛应用。 ...
在Spring MVC框架中,我们经常需要处理JSON数据,这些数据可能包含null值。在某些情况下,为了保持数据的整洁和避免后端处理null值时出现异常,我们需要在数据传输前过滤掉这些null值。本教程将详细介绍如何使用...