前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC:请求乱码问题处理和json乱码解决方案

SpringMVC:请求乱码问题处理和json乱码解决方案

作者头像
冷环渊
发布2021-10-19 15:26:29
1.2K0
发布2021-10-19 15:26:29
举报

SpringMVC

javaweb中的过滤器

大家在学习javaweb的时候经常和什么打交道呢?请求与响应,但是每每当我们快乐的敲击键盘时, 页面给出的回应确实该死的乱码,实在令人气愤! 就在在昨天处理SpringMVC练习的时候,发现乱码, 当时会心一笑: 我:小样,哥学过过滤器的想不到吧! 页面:想不到吧老子不吃这一套! 当我设置好请求响应的编码格式和配置好过滤器后心潮澎湃重启tomcat结果=-=,给我来了个熟悉的乱码

不要急,万能的Spring以及给我们准备好的新的过滤器! 通过继续学习课程我迎来了一个全新的过滤器!SpringMVC提供给我们的过滤器,让我们可以只编写配置文件就可以解决编码问题

SpringMVC中的过滤器!!

使用方法和我们的过滤器一样,都是在web.xml中配置,便捷之处就是我们可以不用自己编辑过滤器,SpringMVC都给我们写好了 可以加入直接使用

代码语言:javascript
复制
  <filter>
    <filter-name>encodingfilter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
  <init-param>
    <param-name>encodingparam-name>
    <param-value>utf-8param-value>
  init-param>
  filter>
  <filter-mapping>
    <filter-name>encodingfilter-name>
    <url-pattern>/*url-pattern>
  filter-mapping>

唯一的配置区别就是过滤器的class变成了Spring包中的字符编码过滤器, 使用之后就有告别了这万恶的乱码!芜湖!

接下来是json乱码问题!!!我使用的是jackson和阿里的fastjson

json中出现乱码,因为编码问题的原因,我们在mvc下传递json就会出现中文是??的状况,这个问题呢我学到两种解决方案

第一种是相对原生态一点的

在我们的映射注解 @RequestMapping("/t1")中有个功能叫produces 我们可以通过设置这个produces的属性来做到json的字符编码设置

第二种是用SpringMVC配置文件中来完成

这个相对上一个方法来说,一劳永逸,只需要配置一次,这个项目都不需要在去配置,一般用到json我建议就把这段配置放到Spring的配置文件中

代码语言:javascript
复制
    <mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <constructor-arg value="utf-8">constructor-arg>
        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>

今天又是美好的一天,加油!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringMVC
    • javaweb中的过滤器
      • SpringMVC中的过滤器!!
        • 接下来是json乱码问题!!!我使用的是jackson和阿里的fastjson
          • 第一种是相对原生态一点的
          • 第二种是用SpringMVC配置文件中来完成
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档