`
yanbo
  • 浏览: 21395 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

SpringMVC4 Json自动转义

 
阅读更多

今天遇到了一个很神奇的坑,用了springmvc,用上restController做一个restful的接口,返回的字符串中的特殊字符被自动转义为unicode了。

跟踪进入springmvc的源代码,发现默认的messageconvert用的是gson,gson会自动进行转义,然后查下资料,改动了下配置文件

    <mvc:annotation-driven>

        <mvc:message-converters>

            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">

                <property name="supportedMediaTypes">

                    <list>

                        <value>application/json;charset=UTF-8</value>

                    </list>

                </property>

            </bean>

        </mvc:message-converters>

    </mvc:annotation-driven>

这个是用fastjson的方式,直接用MappingJackson2HttpMessageConverter替换就是用jackson来做序列化

分享到:
评论

相关推荐

    彻底根治Spring @ResponseBody JavaScript HTML特殊字符

    - 如果你使用的是Thymeleaf等模板引擎,它们通常会自动转义输出内容,防止XSS攻击。 - 如果你希望在前端处理转义,可以在JavaScript中使用`encodeURI()`或`encodeURIComponent()`函数,但这不推荐,因为前端处理...

    解析错误富文本json字符串(带双引号)的快速解决方法

    当JSON字符串中出现非转义的双引号时,解析器会认为这是无效的JSON,因为它可能干扰到JSON结构。例如,如果HTML富文本中存在未转义的双引号,这会导致JSON解析失败。在给定的场景中,问题在于HTML标签内的双引号以及...

    Spring4.2.9+mybatis3.4.4集成(整合Jackson、防御XSS版)支持JDK1.6、Tomcat6

    1. **使用安全的视图技术**:例如Spring MVC的`@ResponseBody`和`@ControllerAdvice`配合`HttpMessageConverter`,可以自动进行HTML转义。 2. **过滤输入**:对所有用户输入进行检查和清理,移除或转义可能的恶意...

    ssm登录功能

    总的来说,"ssm登录功能"涉及到Spring框架的Bean管理和依赖注入,SpringMVC的请求处理,MyBatis的数据库操作,以及登录验证和自动登录的实现。理解这些知识点,有助于开发者构建安全、高效的Web应用。

    php将从数据库中获得的数据转换成json格式并输出的方法

    最后,文中提到了其他相关文章,它们涉及SpringMVC框架中的文件上传、图片处理、JSON与JSONP的区别以及如何在JavaScript中处理JSON数据。这些都是在Web开发中经常遇到的话题,了解这些可以帮助你更好地理解和处理...

    springMvc注解之@ResponseBody和@RequestBody详解

    例如,在控制器中,我们可以使用@ResponseBody注解来将方法的返回值序列化为JSON格式。 ```java @RequestMapping("/testResponseBody") @ResponseBody public String testResponseBody() { return "Hello, World!";...

    疫情核酸预约微信小程序.zip

    - **XSS防护**:防止跨站脚本攻击,对用户输入进行过滤和转义。 综上所述,【疫情核酸预约微信小程序】项目涵盖了前端微信小程序开发、后端Java SpringBoot及SSM框架的运用,数据库交互,以及API设计、用户认证与...

    基于SSM+vue的校园兼职管理系统.zip

    4. **SSM**:Spring、SpringMVC和MyBatis的组合,是经典的Java Web开发框架,用于构建企业级应用。Spring负责依赖注入,SpringMVC处理Web请求,MyBatis则处理数据库操作。 5. **jsp**:JavaServer Pages,一种动态...

    基于java web的硕士研究生招生考试报考系统源码数据库.zip

    - SpringMVC:SpringBoot默认集成的Web开发模块,提供模型-视图-控制器的架构模式,用于构建RESTful服务。 - 集成数据库:SpringBoot可以通过配置自动连接多种数据库,如MySQL,便于数据持久化。 3. **数据库管理...

    基于ssm农副产品销售网站.zip

    4. **XSS防护**:对用户输入进行转义处理,防止跨站脚本攻击。 5. **HTTPS协议**:使用HTTPS保证数据传输的安全性。 五、性能优化 1. **缓存策略**:使用Redis或Memcached进行缓存,减少数据库访问压力。 2. **...

    基于ssm微信小程序打印室预约系统源码数据库文档.zip

    - 使用Git进行版本控制,Jenkins或GitHub Actions实现自动构建、测试和部署,提升开发效率。 8. **安全考虑**: - 数据加密:敏感信息如用户密码应进行加密存储,防止数据泄露。 - SQL注入防护:使用预编译语句...

    框架面试笔试问答题.docx

    - **@RestController**:结合@Controller和@ResponseBody,用于返回JSON或XML格式的数据。 - **@RequestMapping**:用于映射HTTP请求到特定的方法。 - **@GetMapping/@PostMapping**:分别用于映射GET和POST请求。 -...

    1000道 互联网大厂面试题.pdf

    - 与Spring、SpringMVC等框架整合良好。 3. **MyBatis缺点**: - 对动态SQL的支持没有Hibernate等ORM框架强大。 - 由于没有代码生成器,所以开发工作量大。 4. **适用场合**:适合于需要进行SQL优化和定制化SQL...

    1剑盛二面准备试题.txt1剑盛二面准备试题.txt

    70. **SpringMVC与Struts的区别**:SpringMVC是一个更轻量级的Web框架,与Spring框架的整合度更高,提供更好的性能。Struts是一个基于MVC模式的重量级框架。 71. **避免SQL注入的方法**:使用预处理语句...

Global site tag (gtag.js) - Google Analytics