转:http://fhd001.iteye.com/blog/1136428
我们在本示例中,使用Spring3.0 MVC, Spring 3.0 MVC已经支持JSON了。
这里我们使用基于注解的方式,也是springMVC 3.0所支持的RESTFul风格的。
1.首先加入两个jar依赖,这里以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>
这是spring MVC处理json数据时,所必须的jar依赖。
2.在spring mvc的配置文件中加入配置
这里我们使用的是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格式简介** ...
2. **配置 Spring MVC**:在 Spring MVC 的配置文件中,我们需要添加 `Jackson` 的转换器,使得 Spring MVC 能够解析和生成 JSON 数据。例如,在使用 XML 配置时,可以添加以下配置: ```xml <bean class="org....
Spring 3.0 MVC 和 REST 是 Java Web 开发中的重要组成部分,它们为构建现代、高效的应用程序提供了强大的框架支持。本文将深入探讨这两个概念以及如何通过一个入门实例来理解它们。 Spring MVC(Model-View-...
在Spring MVC 3中,对JSON的支持是其重要的特性之一,它使得前后端数据交互更加便捷,尤其在如今的Web应用中,JSON已经成为数据传输的标准格式。本篇将深入探讨Spring MVC 3对JSON的支持以及解决常见错误的方法。 ...
在Spring MVC中,为了将Java对象转换成JSON格式并返回给客户端,我们需要依赖于JSON库。在提供的信息中,提到了`jackson-all-1.9.x.jar`系列的包,这是Jackson库的一个早期版本。Jackson是一个非常流行的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 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...
在本教程中,我们将深入探讨如何使用Spring MVC框架构建一个返回JSON格式数据的服务器。首先,这个项目涉及的技术栈包括Spring MVC、JDBC、JSON以及Gson。Spring MVC是Spring框架的一部分,它允许我们构建RESTful ...
这个项目提供的示例工程应该包含了一个工作流程的完整实例,从Ajax请求到Spring MVC的处理,再到JSON响应的返回,帮助开发者理解并掌握这一技术栈的使用。通过深入研究和实践,你将能够熟练地在自己的项目中应用这些...
在这个过程中,我们将学习如何使用 Spring MVC 来创建一个返回 JSON 格式数据的服务器,以及如何在 Android 应用中消费这些数据。 ### 第一部分:环境准备 1. **Eclipse Neon**:这是一个集成开发环境,用于编写 ...
当返回类型为@RequestBody或@ResponseBody时,Spring MVC会自动将返回的对象转换为JSON,发送到客户端。 三、源代码分析 1. pom.xml:项目依赖管理文件,包含了Spring MVC、Jackson库和其他相关依赖。例如,添加...
首先,Spring MVC 4基于Servlet 3.0规范,这意味着它可以利用异步处理能力,提高了Web应用的性能。通过AsyncSupport和AsyncConfigurer接口,开发者可以轻松地创建异步控制器,处理高并发场景。 控制器(Controller...
在Spring MVC框架中,处理JSON数据是Web应用开发中的常见任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得前后端数据交互变得更加简单和直观。本篇文章将详细讲解在Spring MVC中如何...
最近在整spring mvc 返回json的配置,网上搜集整理了一下,觉得蛮有用的就共享出来,三个必备json包并附spring mvc 返回json的配置,此包有两个版本json包,一个2.6一个2.2
4. **MessageConverter**:Spring 3.0 引入了MessageConverter机制,自动处理HTTP请求和响应的序列化,支持JSON、XML等多种数据格式。 5. **Groovy支持**:Spring 3.0 添加了对Groovy的支持,允许在配置中使用...
Spring 3.0 MVC 是一个强大的Java框架,用于构建企业级Web应用程序。在这个例子中,我们将深入探讨如何利用注解来简化Spring MVC的配置过程。注解是Java提供的一种元数据,它允许我们在代码中嵌入信息,这些信息可以...
此外,Spring3.0还集成了对其他技术的支持,如数据访问(JDBC、Hibernate、MyBatis)、Web应用(Spring MVC)、消息处理(JMS)等。 MyBatis3.0是一个轻量级的持久层框架,它将SQL语句与Java代码分离,使得开发者...
本示例提供了一个完整的返回JSON数据的接口的Spring MVC Demo,帮助开发者理解如何在Spring MVC应用中实现JSON序列化和反序列化。 首先,我们需要了解JSON的基本结构。JSON是一种轻量级的数据交换格式,它基于...