最近在做一个项目,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 />
这样,页面显示的就不再是乱码了!好蛋痛的问题!
分享到:
相关推荐
@ResponseBody注解用于将方法返回的对象自动转换为JSON或XML格式的响应;@PathVariable用于从URL中获取参数,而@RequestParam用于从请求参数中获取数据。 Spring MVC与Struts2是两种流行的Java Web框架,它们都实现...
在 Spring MVC 中,可以轻松地与 AJAX 结合,实现异步数据交换。对于 JSON 数据的处理,Spring 提供了内置的支持。 - **使用 `@RequestBody` 和 `@ResponseBody`**:这两个注解分别用于读取和写入 JSON 数据。 - **...
此外,还可以使用`@RestController`,该注解是`@Controller`和`@ResponseBody`的组合,适用于只返回JSON或XML数据而不返回视图的情况。 **@Controller注解的作用**:用于定义一个类为Spring MVC控制器,该类将处理...
在控制器中,可以使用@ResponseBody注解返回JSON数据给前端。 ##### 3.4 如何解决POST请求中文乱码问题,GET的又如何处理呢? - **POST请求**:在web.xml中配置过滤器CharacterEncodingFilter来设置字符编码。 - **...
具体问题出现在使用了SpringMVC框架的开发场景中,在Controller层使用了@ResponseBody注解来直接返回JSON数据。该注解使得Spring MVC框架会将返回的对象自动转换为JSON格式的字符串。然而,默认情况下,Spring框架...
- **处理返回值**:Spring MVC支持直接返回字符串类型的结果,这些结果会被自动转换成JSON格式发送给客户端。 ```java @ResponseBody public String submit(...) { return "{\"status\":\"success\"}"; } ```...
由于有`@ResponseBody`注解,Spring MVC会自动将返回的字符串转换成JSON格式。 如果你需要返回一个Java对象,比如`User`,只需改变方法的返回类型: ```java @RequestMapping("Ajax2") @ResponseBody public User ...
2. **返回响应数据**:在Controller方法中,可以构建JSON对象并使用`@ResponseBody`注解将其返回。SpringMVC会自动将其转换成JSON格式,供jQuery的Ajax请求接收。 3. **处理异常**:可以使用`@ExceptionHandler`...
-- 配置MVC注解驱动 --> <mvc:annotation-driven /> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ``` 接下来,我们关注客户端的JavaScript...