- 浏览: 3424517 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
Spring mvc 用ajax传输json数据 http://blog.csdn.net/u012457196/article/details/43498139
在spring mvc3中,已经集成了Jackson(json处理器)来处理数据输出json格式,spring中封装的类是 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter这个json转换器, 如果是springmvc3.2之前的版本,可以使用org.springframework.http.converter.MappingJacksonHttpMessageConverter这个json转换器。
springmvc使用@ResponseBody返回json乱码解决方法 http://www.itxxz.com/a/javashili/ask/2014/1222/501.html
1.springmvc 3.2以上的版本解决乱码的方法:
第一步:在配置中加入:
或者可以这样写
第二步:需要的加入的jackson jar如下:
另一种方法:, 貌似偶尔出问题, 还没找原因
2.springmvc 3.1解决中文乱码的方法:
第一步:在配置文件中加入以下代码:
第二步:自定义一个编码转换类:
第三步:加入需要的jackson包:
在spring mvc3中,已经集成了Jackson(json处理器)来处理数据输出json格式,spring中封装的类是 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter这个json转换器, 如果是springmvc3.2之前的版本,可以使用org.springframework.http.converter.MappingJacksonHttpMessageConverter这个json转换器。
springmvc使用@ResponseBody返回json乱码解决方法 http://www.itxxz.com/a/javashili/ask/2014/1222/501.html
1.springmvc 3.2以上的版本解决乱码的方法:
第一步:在配置中加入:
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /> </bean> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="objectMapper"> <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"> <property name="failOnEmptyBeans" value="false" /> </bean> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
或者可以这样写
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="jsonRequestConverter" /> </list> </property> </bean> <bean id="jsonRequestConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
第二步:需要的加入的jackson jar如下:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-jaxb-annotations</artifactId> <version>2.1.0</version> </dependency>
另一种方法:, 貌似偶尔出问题, 还没找原因
package cn.com.voge.utils; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import org.springframework.http.HttpInputMessage; import org.springframework.http.HttpOutputMessage; import org.springframework.http.MediaType; import org.springframework.http.converter.AbstractHttpMessageConverter; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotWritableException; import org.springframework.util.FileCopyUtils; public class UTF8StringHttpMessageConverter extends AbstractHttpMessageConverter<String> { public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); private final List<Charset> availableCharsets; public UTF8StringHttpMessageConverter() { this(DEFAULT_CHARSET); } public UTF8StringHttpMessageConverter(Charset defaultCharset) { super(new MediaType("text", "plain", defaultCharset), MediaType.ALL); this.availableCharsets = new ArrayList<Charset>(Charset .availableCharsets().values()); } @Override protected boolean supports(Class<?> clazz) { return String.class.equals(clazz); } @Override protected String readInternal(Class<? extends String> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { MediaType contentType = inputMessage.getHeaders().getContentType(); Charset charset = contentType.getCharSet() != null ? contentType .getCharSet() : DEFAULT_CHARSET; return FileCopyUtils.copyToString(new InputStreamReader(inputMessage .getBody(), charset)); } @Override protected void writeInternal(String t, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { MediaType contentType = outputMessage.getHeaders().getContentType(); Charset charset = contentType.getCharSet() != null ? contentType .getCharSet() : DEFAULT_CHARSET; FileCopyUtils.copy(t, new OutputStreamWriter(outputMessage.getBody(), charset)); } protected List<Charset> getAcceptedCharsets() { return this.availableCharsets; } @Override protected Long getContentLength(String s, MediaType contentType) { if (contentType != null && contentType.getCharSet() != null) { Charset charset = contentType.getCharSet(); try { return (long) s.getBytes(charset.name()).length; } catch (UnsupportedEncodingException ex) { throw new InternalError(ex.getMessage()); } } else { return null; } } }
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="cn.com.voge.utils.UTF8StringHttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven>
2.springmvc 3.1解决中文乱码的方法:
第一步:在配置文件中加入以下代码:
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="com.util.spring.UTF8StringHttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven>
第二步:自定义一个编码转换类:
public class UTF8StringHttpMessageConverter extends AbstractHttpMessageConverter<String> { public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); private final List<Charset> availableCharsets; public UTF8StringHttpMessageConverter() { this(DEFAULT_CHARSET); } public UTF8StringHttpMessageConverter(Charset defaultCharset) { super(new MediaType("text", "plain", defaultCharset), MediaType.ALL); this.availableCharsets = new ArrayList<Charset>(Charset .availableCharsets().values()); } @Override protected boolean supports(Class<?> clazz) { return String.class.equals(clazz); } @Override protected String readInternal(Class<? extends String> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { MediaType contentType = inputMessage.getHeaders().getContentType(); Charset charset = contentType.getCharSet() != null ? contentType.getCharSet() : DEFAULT_CHARSET; return FileCopyUtils.copyToString(new InputStreamReader(inputMessage .getBody(), charset)); } @Override protected void writeInternal(String t, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { MediaType contentType = outputMessage.getHeaders().getContentType(); Charset charset = contentType.getCharSet() != null ? contentType .getCharSet() : DEFAULT_CHARSET; FileCopyUtils.copy(t, new OutputStreamWriter(outputMessage.getBody(), charset)); } protected List<Charset> getAcceptedCharsets() { return this.availableCharsets; } @Override protected Long getContentLength(String s, MediaType contentType) { if (contentType != null && contentType.getCharSet() != null) { Charset charset = contentType.getCharSet(); try { return (long) s.getBytes(charset.name()).length; } catch (UnsupportedEncodingException ex) { throw new InternalError(ex.getMessage()); } } else { return null; } } }
第三步:加入需要的jackson包:
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.8.8</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.8.8</version> </dependency>
发表评论
-
Spring Boot 属性配置
2016-06-24 11:04 1183Spring Boot 属性配置和使用 http://blog ... -
Spring Boot 集成MyBatis
2016-06-24 10:55 2028Spring Boot 集成MyBatis http://bl ... -
Spring MVC防重复提交
2016-06-17 15:47 1646http://my.oschina.net/zyqjustin ... -
Spring容器加载完之后执行特定任务
2016-06-17 15:36 2288http://my.oschina.net/simpleton ... -
使用spring-session和shiro来代理session的配置
2016-06-16 11:21 12060使用spring-session和redis来代理sessio ... -
JSTL 的 if else : 有 c:if 没有 else 的处理
2016-06-14 09:52 1337http://blog.csdn.net/xiyuan1999 ... -
spring mvc 请求转发和重定向
2016-06-14 09:48 1400http://blog.csdn.net/jackpk/art ... -
mvc:view-controller
2016-05-18 10:26 1084http://blog.csdn.net/lzwglory/a ... -
spring配置事物的方式:注解和aop配置
2016-05-14 00:26 4104参考: Spring AOP中pointcut express ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2287http://www.oschina.net/p/uncode ... -
Mybatis分库分表扩展插件
2016-05-12 15:47 1625http://fangjialong.iteye.com/bl ... -
spring+mybatis+atomikos 实现JTA事务
2016-05-11 22:00 5524sping配置多个数据源 不同用户操作不同数据库 http:/ ... -
Spring中使用注解 @Scheduled执行定时任务
2016-05-10 09:39 1567原文:http://dwf07223.blog.51cto.c ... -
Spring中配置Websocket
2016-05-05 16:55 1278spring+websocket整合(springMVC+sp ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1316集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4795使用Spring-data进行Redis操作 http://z ... -
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
2016-05-03 13:35 1062Spring4新特性——集成Bean Validation 1 ... -
SpringMVC介绍之Validation
2016-05-03 13:10 985SpringMVC介绍之Validation http://h ... -
spring 注解方式下使用commons-validator 验证表单
2016-05-03 11:08 3078原文: http://www.programgo.com/ar ... -
Spring MVC学习详解
2016-04-28 09:13 1004原文 http://blog.csdn.net/alsocod ...
相关推荐
本文将深入探讨两种解决SpringMvc后台接收JSON数据中文乱码问题的方法。 1. **使用Ajax传输数据** 当前端通过Ajax使用JSON格式向SpringMvc后台发送数据时,可能出现中文乱码。这通常是因为服务器默认的字符编码不...
完成上述修改后,SpringMvc将能够正确处理`text/plain`类型的数据,并以UTF-8编码返回,从而解决Ajax加载JSON数据时的中文乱码问题。 三、总结 解决Ajax加载JSON数据中文乱码问题的关键在于确保服务器端正确设置...
在开发Web应用时,Spring MVC和Ajax的交互过程中,经常遇到中文乱码的问题。这个问题主要出现在数据从服务器传输到客户端的过程中,由于编码设置不正确,导致中文字符无法正常显示。以下将详细介绍四种解决Spring ...
前端通过Ajax调用后端接口并获取返回的JSON数据,然后根据这些数据更新页面上的元素。 5. jQuery处理Ajax请求: jQuery是一个快速、小巧、功能丰富的JavaScript库。它简化了JavaScript编程,可以通过AJAX、事件...
在进行Web开发时,使用AJAX技术与服务器进行异步通信,然后将服务器返回的JSON数据展示在前端页面上是一种常见需求。...通过上述方法,可以有效解决使用AJAX传递JSON数据到前台时出现的中文乱码问题。
SpringMVC会自动将其转换成JSON格式,供jQuery的Ajax请求接收。 3. **处理异常**:可以使用`@ExceptionHandler`注解来捕获并处理异常,返回相应的错误信息。 通过上述步骤,SpringMVC和jQuery可以协同工作,实现...
项目介绍 这是一个 springmvc + mybatis ...也配置了转成json解决乱码的问题 <!-- 1、支持HandlerMapper和HandlerAdapter --> <!-- 转成json 为UTF-8 --> <mvc:message-converters register-default
通过使用`@ResponseBody`注解和Jackson库,我们可以方便地将Java对象转换为JSON,然后通过AJAX发送到客户端。同时,注意设置正确的字符编码,以确保中文字符能正确显示。通过实践这些知识点,你可以在你的项目中轻松...
【基于AJAX结合SpringMVC的信息访问服务模式研究】 AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。它利用JavaScript、XHTML、CSS、DOM、XML、XSLT以及...
- 解决Ajax中JSON中文乱码问题,通常需要设置Tomcat的字符编码,以及在Servlet容器中配置过滤器,如`CharacterEncodingFilter`,确保请求和响应的编码一致。 5. **jar包说明**: 压缩包中的jar包涵盖了Spring、...
- 在Ajax请求中,设置请求类型为GET或POST,指定请求URL,然后在成功回调中处理响应的JSON数据。 7. **处理乱码问题**: - 对于请求参数的乱码,可以通过在DispatcherServlet配置中设置`characterEncodingFilter`...
该项目使用springmvc4.0.3 + Mybatis3.2.5 前端使用easyUI1.4.1 ...1.ajax请求,返回JSON数据,有中文乱码解决方案 2.登陆拦截,未登陆过的用户将跳转到登陆页面 3.邮件发送 4.企业级前端界面 5.前端数据分页、查询
- 与AJAX交互通常通过`@ResponseBody`或JSON处理。 **处理中文乱码**: POST请求通过设置Filter解决,GET请求可以通过设置`CharacterEncodingFilter`。 **异常处理**: 可以自定义异常处理器,比如使用@...
##### 3.4 如何解决POST请求中文乱码问题,GET的又如何处理呢? - **POST请求**:在web.xml中配置过滤器CharacterEncodingFilter来设置字符编码。 - **GET请求**:同样可以通过配置过滤器解决,也可以通过修改Tomcat...
9. **前后端交互**:使用Ajax发送异步请求,通过JSON传递数据,实现前后端的轻量级分离。 学习SSM整合的过程中,你可能会遇到环境配置、版本冲突等问题,但这些都是成长的一部分。可以通过在线教程,如B站上的视频...
4. **SpringMVC**:学习其工作流程,对比Struts2,解决乱码问题,熟悉组件扩展。 5. **MyBatis**:对比JDBC和Hibernate,理解动态SQL,掌握XML和注解的映射方式。 **四、脚本** 1. **JavaScript**:了解核心对象,...
4. **SpringMVC**:了解其工作流程,对比与Struts2的区别,处理乱码问题,熟悉各组件的扩展。 5. **MyBatis**:理解MyBatis与JDBC和Hibernate的区别,熟悉动态SQL和映射文件的配置。 **四、脚本** 1. **JavaScript*...