最近在做一个项目,spring mvc + mybatis。当用 @ResponseBody返回一个json中文数据的时候,出现了乱码问题,按照网上的说法,也配置了
<!-- 框架控制层 controller-->
<!-- 注解探测器 -->
<context:component-scan base-package="com.wxws.*.controller,com.wxws.*.*.controller" />
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
但还是不起作用,后来继承了AbstractHttpMessageConverter这个类,将spring mvc 异步默认的编码方式也改了,还是不行……
后来才发现是
<!-- 框架控制层 controller-->
<!-- 注解探测器 -->
<context:component-scan base-package="com.wxws.*.controller,com.wxws.*.*.controller" />
<mvc:annotation-driven />
这个的顺序问题,更改后
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<!-- 框架控制层 controller-->
<!-- 注解探测器 -->
<context:component-scan base-package="com.wxws.*.controller,com.wxws.*.*.controller" />
<mvc:annotation-driven />
这样,页面显示的就不再是乱码了!好蛋痛的问题!
分享到:
相关推荐
本文将详细讨论如何在Spring MVC中针对`ResponseBody`返回的JSON数据进行脱敏处理。 首先,我们需要了解`ResponseBody`注解的作用。在Spring MVC中,当控制器方法的返回值前加上`@ResponseBody`时,Spring会将返回...
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...
-- @ResponseBody() spring-mvc 3 xml 配置--> <!--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> ...
在Spring MVC 4.x版本中,开发者可以使用@ResponseBody注解来简化控制器层向客户端返回JSON格式数据的过程。 ### @ResponseBody注解使用方法 @ResponseBody注解可以作用于方法上,它会指示Spring MVC框架将该方法...
- Spring MVC默认提供了多种Converter,例如:StringHttpMessageConverter(处理字符串)、MappingJackson2HttpMessageConverter(处理JSON数据)、Jaxb2RootElementHttpMessageConverter(处理XML数据)等。...
在Spring MVC框架中,使用`@ResponseBody`注解可以方便地将控制器方法的返回值转换为JSON格式,然后发送到客户端。本篇文章将详细介绍如何在Spring MVC的XML配置中设置,以便让`@ResponseBody`自动将Java对象转换为...
4. **控制器方法的编写**:在 Spring MVC 的控制器类中,我们可以定义处理 HTTP 请求的方法,并使用 `@RequestBody` 和 `@ResponseBody` 注解来接收和返回 JSON 数据。例如: ```java @RequestMapping(value = "/...
7. `@ResponseBody` 和 `@RestController` 注解:`@ResponseBody`将方法的返回值直接写入HTTP响应体,通常用于返回JSON或XML数据。`@RestController`是@Controller和@ResponseBody的组合,意味着控制器的所有方法都...
Spring MVC还提供了`@JsonView`注解来控制JSON响应中的数据粒度,以及`@JsonProperty`和`@JsonIgnore`来控制哪些字段应包含在JSON中。 **jQuery和JavaScript** jQuery是一个流行的JavaScript库,简化了DOM操作、...
此外,当请求体的数据结构复杂或者有特殊约束时,也可能需要对模型类进行额外的注解处理,如`@DateTimeFormat`和`@JsonFormat`等,以便正确解析日期和时间等复杂类型。 总结来说,`@RequestBody`和`@ResponseBody`...
标题提到的"最新版本 Jackson 2.8.2 jar与Spring 4.x @ResponseBody配合使用"涉及到的关键知识点包括Jackson的三个核心模块,以及如何在Spring MVC中利用这些模块实现RESTful API的数据响应。 1. **Jackson核心模块...
总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`<mvc:annotation-driven>`元素之前。通过上述方法,可以有效地...
`@ResponseBody`是Spring MVC提供的一种注解,用于将方法返回的对象直接转换为HTTP响应体的内容,通常用于返回JSON格式的数据。 在标题中提到的"对json格式的数据进行封装和转化",这是一个关键的Web开发技能,涉及...
在本文中,我们将深入探讨Spring MVC中的注解用法,并以文章"spring mvc 注解实现"为例进行说明。 首先,`@Controller` 是Spring MVC中定义控制器的基本注解。当标记在一个类上时,表明该类是一个处理HTTP请求的...
总结,Spring MVC处理JSON数据的关键在于引入正确的jar包(如Jackson库),配置Spring MVC以支持JSON,以及在控制器中使用适当的注解。通过理解这些基础知识,开发者可以有效地在Spring MVC应用中进行JSON数据的交互...
总之,`@ResponseBody`、`@RequestBody`和`@PathVariable`是Spring MVC中不可或缺的三大注解,它们在构建RESTful服务时起着至关重要的作用。掌握它们的用法和工作原理,能够提升我们的开发效率,使我们更好地利用...
例如,异步获取 JSON 数据,加上 @Responsebody 注解后,就会直接返回 JSON 数据。这种情况下,浏览器并不会跳转到新的页面,而是将响应结果直接返回给浏览器,而浏览器可以根据需要对响应结果进行处理。 以下是一...
在Spring 3.0中,Spring MVC引入了强大的注解支持,使得开发Web应用程序变得更加简洁高效。本节将深入探讨Spring MVC注解及其在实际应用中的实现方式。 首先,Spring MVC注解允许开发者以声明式的方式配置控制器,...
2. **创建控制器**:定义一个`@Controller`,使用`@RequestMapping`处理特定的URL,并使用`@ResponseBody`注解返回JSON数据的方法。 3. **编写服务层**:创建业务逻辑,可能使用Spring的`@Service`和`@Autowired`...