主要原因是:页面提交时,使用<contentType:utf-8/>格式,而服务端HttpMessageConverter解码时使用其它格式解码(如:ISO-8859-1)导致

解决方案:在Servlet中设置CharacterEncoding为UTF-8格式。

方法一:在Web.xml中加入Spring的字符集过滤器(已测)

<filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param>
</filter>
<filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

encoding

字符集,将request字符集设置成encoding指定格式(相当于request.setCharacterEncoding)

forceEncoding

强制字符集设置,主要用来设置response字符集是否也是encoding指定格式

当设置为true时,相当于request.setCharacterEncoding + response.setCharacterEncoding

当设置为false时(默认),相当于request.setCharacterEncoding

加入后相当于在servlet中加入下面代码

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8"); 

方法二:手动写Filter(未测)

对每个访问进行拦截,并执行下列代码

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8"); 

方法三:设置HttpMessageConverter实现类的解码方式(未测试)

<mvc:annotation-driven>    <mvc:message-converters>    <bean class="org.springframework.http.converter.StringHttpMessageConverter">    <property name="supportedMediaTypes">    <list>    <value>text/plain;charset=UTF-8</value>    <value>text/html;charset=UTF-8</value>    </list>    </property>    </bean>    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">    <property name="supportedMediaTypes">    <list>    <value>application/json; charset=UTF-8</value>    <value>application/x-www-form-urlencoded; charset=UTF-8</value>    </list>    </property>    </bean>    </mvc:message-converters>
</mvc:annotation-driven>

转载于:https://www.cnblogs.com/yifanSJ/p/9226801.html

Spring MVC —— form表单post提交出现乱码相关推荐

  1. Spring MVC与表单日期提交的问题

    Spring MVC与表单日期提交的问题 spring mvc 本身并不提供日期类型的解析器,需要手工绑定, 否则会出现非法参数异常. org.springframework.beans.BeanIn ...

  2. Spring MVC的表单控制器——SimpleFormController .

    http://blog.csdn.net/rj042/article/details/6907274 年7月微软MVP申请开始啦!           CSDN十大风云博客专栏评选结果公布! Spri ...

  3. Spring MVC:表单处理卷。 2 –复选框处理

    很难想象现代Web应用程序中没有表单复选框的情况. 在之前的一篇文章中,我写了有关Spring MVC中的表单处理的文章 ,作为本系列文章的续篇,我将写有关Spring MVC表单的文章,尤其是关于复 ...

  4. 中input标签赋值_Java程序员:Spring MVC JSP表单标签示例

    Spring MVC的表单标签为Java程序员提供了许多额外的支持.例如数据绑定,允许自动设置数据并从Java对象中检索数据. 从2.0版本开始,Spring提供了一组全面的数据绑定感知标记,用于在使 ...

  5. Spring MVC:表单处理卷。 5 –选择,选项,选项标签

    下拉列表是Web表单中最常见的元素之一. 在HTML中,可以使用适当的标签创建此类控件: <form:select> –下拉列表的父标签和<form:option> – < ...

  6. Spring MVC:表单处理卷。 4 –单选按钮

    在软件开发领域,单选按钮是图形用户界面的重要组成部分. Spring MVC标签库为此表单元素提供了特殊标签. 更确切地说,有两个标签用于此目的:单选按钮,单选按钮. 两者对于特定任务都是有用的. 如 ...

  7. Spring MVC:表单处理卷。 3 –复选框处理

    我已经发布了有关使用Spring MVC标签库处理'checkbox'标签的帖子. 现在,我要开发此主题并继续使用"复选框"标签. 它并不难,但是在某些情况下,您最好使用它. 在本 ...

  8. Spring MVC:表单处理卷。 1个

    Spring MVC是Spring Framework的一部分,其主要目的是使Web开发更加简单,便捷和轻松. 与表单的交互是或多或少现代Web应用程序的一部分. Spring MVC允许您以非常严格 ...

  9. js实现Form表单submit提交截获数据(各浏览器通用)

    js实现Form表单submit提交截获数据(各浏览器通用) js实现Form表单submit提交截获数据(各浏览器通用) No Comments | js , 安全 , PHP | by calms ...

最新文章

  1. 取消Exchange数据库的自动分配功能
  2. LeetCode 多线程 1117. H2O 生成
  3. JavaWab项目1 ---- 技术架构
  4. 2012禁用ip隧道 win_IMCP协议的魅力——IMCP隧道
  5. 查询同一组的最大最小值及明细
  6. a4如何打印双面小册子_a4如何排版打印双面小册子?
  7. 游戏角色命名与游戏风格
  8. dw怎么做html鼠标变化,dw鼠标经过单元格变色 DW 鼠标经过表格 背景变色
  9. ChineseLunisolarCalendar 农历日期
  10. 用JAVA 创建自己的 A4 打印语言
  11. 数据结构-树的进阶-串联各科知识
  12. 二十四式长生图——清手抄本(扫描版)
  13. [BUU刷题记录]day01-起步
  14. 【数学建模】CUMCM-2013B 碎纸片的拼接复原 解题思路整理
  15. 为什么0x100是256个字节、0x400是1KB、0x800是2KB、0x1000是4KB?
  16. 打不开eclipse 由于它来自身份不明的开发者
  17. 一例所有文件都打不开的数据恢复过程
  18. unet服务器向客户端发消息,unet 服务器客户端不同步
  19. ArcGIS中栅格计算器常用函数的使用
  20. 设计模式之 — 抽象工厂模式

热门文章

  1. memcached运行情况监测
  2. Docker到底是什么?为什么它这么火!
  3. 使用 Responsive Elements 快速构建响应式网站
  4. 如何在Scala中使用条件表达式 .
  5. 苹果发布新应用Find My Friends,轻松追踪朋友和家人的所在位置
  6. [wxWidget系列] wxWidget的事件机制
  7. Hotmail怎么进不去?!
  8. Flask + Vue 搭建简易系统步骤总结
  9. mysql中索引创建 查看和删除语句_MySQL索引的创建、删除和查看(学习中)
  10. 【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)