Spring MVC controller

这样写法通常意味着访问该请求,GET和POST请求都行,可是经常会遇到,如果碰到参数是中文的,post请求可以,get请求过来就是乱码。如果强行对参数进行了解码,get请求可以了,反而post请求会乱码了。

查阅资料

为何会乱码

Spring MVC 是基于Servlet,在Http请求到达Servlet解析之前,GET过来的URL已经被Tomcat先做了一次URLDecode。Tomcat对GET方式默认的URL解码结果是iso-8859-1而不是我认为的UTF-8(很奇怪为啥会这么干,开源项目不都是喜欢默认UTF-8的么)。

解决方案

解决方案也很简单,除了平常在项目中web.xml里配置的转码filter,jsp跟代码文件统一编码外,最关键的一点就是在Tomcat的conf目录下的server.xml中配置 Connector的URIEconding=“UTF-8"属性即可。 
官方文档中对这个属性的说明:

URIEncoding :This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

最新文章

  1. ssh自动输入密码脚本 切换目录脚本
  2. jQuery弹出提示信息简洁版(自动消失)
  3. 【Yeoman】热部署web前端开发环境
  4. iOS-公司开发者账号的申请和注册(博主原创+亲身经历+2016年申请+附带与邓白氏公司的往来邮件截图)
  5. 似然估计中为什么要取对数以GMM为例
  6. [Topcoder]AvoidRoads(dp,hash)
  7. jsp中的动作元素:<jsp:plugin>
  8. linux 进程备忘
  9. java多线程学习(一)
  10. Android获取SD卡中选中图片的路径(URL)
  11. SocketChannel
  12. day9、用户登陆出现-bash-4.1$错误的原因及解决方法
  13. 20165223 week2测试补交与总结
  14. 解析如何在C语言中调用shell命令的实现方法【转】
  15. C++读取dll文件所在目录
  16. theos第一次编译成功,记录一下
  17. 『Github』简易使用指南
  18. “数学口袋精灵”App的第一个Sprint计划(总结)
  19. 在容器服务kubernetes上配置https
  20. PHP框架 Yii framework 用yiic命令时提示“php.exe”不是内部或外部命令

热门文章

  1. iOS开发技巧系列---详解KVC(我告诉你KVC的一切)
  2. iOS开发——动画篇Swift篇&炫酷弹出菜单
  3. ORACLE触发器具体解释
  4. 出错处理完美搭配之perror&exit
  5. 升级时出现:请先升级 UCenter 到 1.6.0 以上版本。
  6. laravel controller:make
  7. css预处理的引入与问题
  8. Ubuntu 下安装VNC server
  9. JDK的安装
  10. MultiMap、BidiMap及LazyMap的使用