解决Sping Mvc中post、get请求中文乱码问题
程序员文章站
2022-06-18 13:55:03
...
前言
- 无论是提交表单,还是利用URL穿参时,只要参数中有中文,若果在程序中不做相应的处理的话,我们在java后台接收参数时就会出现中文乱码问题。
解决post请求乱码问题
- 在web.xml中配置Sping的
CharacterEncodingFilter
,这是个过滤器,可以解决post请求乱码问题。
<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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
解决get请求乱码问题
我们知道,一般的表单提交都用post方式,但是若向后台仅仅传递一两个参数时,我们经常讲参数拼接在URL中,例如
http://localhost:8080/springmvc02/stu/queryJson?girl="妹纸"
- 当我们后台接收的时候若用
String girl=request.getParameter("girl")
这个方式来接收girl这个参数,那么这时候就会出现乱码,效果如下。
解决方法
第一种:将girl转成字节,然后转码。
String enCodeGirl=new String(girl.getBytes("ISO-8859-1"),"UTF-8");
第二种
在tomcat的server.xml中指定一下编码格式
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
小结
- 第一种方式小编不推荐,因为这种方式在整个过程中是经过编码两次和解码两次,有点耗费性能,并且所有的参数传递都要进行相应的硬解码操作,而在tomcat中配置一下小编推荐,而且这种方式使一劳永逸啊。
上一篇: JVM面试
下一篇: 谷歌免费版G Suite将被终止
推荐阅读
-
JAVA POST与GET数据传递时中文乱码问题解决方法
-
jsp中 ajax的get请求的中文乱码问题的解决方法
-
页面get请求 中文参数方法乱码问题的快速解决方法
-
JAVA POST与GET数据传递时中文乱码问题解决方法
-
jsp中 ajax的get请求的中文乱码问题的解决方法
-
fiddler使用方法之Fiddler显示IP,Fiddler中文乱码解决方法以及fiddler模拟发送get/post请求
-
关于Ajax请求中传输中文乱码问题的解决方案
-
解决ajax get post方式提交中文参数乱码问题
-
SpringMVC中如何解决post和get请求的中文乱码问题
-
Web项目:解决SpringMVC中Post或者Get请求中文乱码的问题