解决SpringMVC中文乱码问题,SpringMvc参数传递中乱码问题
SpringMvc参数传递中乱码问题
问题描述:
当传递中文参数到controller类时,无乱是get方式还是post方式都出现乱码
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。解决:
1、保证所有的页面编码都是utf-8,包括jsp页面,浏览器编码设置和eclipse的编码设置。
2、spingmvc给我们提供了一个编码过滤器,只需要在配置文件web.xml中加入即可。如下:
按 Ctrl+C 复制代码 <filter> <filter-name>characterEncoding</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>characterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 按 Ctrl+C 复制代码3、以上两步有时只能解决post方式传递参数乱码问题,get方式还是出现乱码,则就需要该tomcat的配置文件了,打开tomcat的server.xml文件,找到以下行

1 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
在上面行中插入URIEncoding="UTF-8",改成如下形式:

1 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
这样就解决了springmvc中文参数传递乱码问题了。
若web.xml出现报错 The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".
原因:文档内容标签顺序不符合web-app_2_3.dtd规范
解决办法:
:严格按照提示上的顺序排列
2:删除<!DOCTYPE 。。。。这段内容,即<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">删除这行
参考自:https://www.cnblogs.com/Hxinguan/p/5971779.html,感谢作者的分享
,问题描述:
当传递中文参数到controller类时,无乱是get方式还是post方式都出现乱码
解决:
1、保证所有的页面编码都是utf-8,包括jsp页面,浏览器编码设置和eclipse的编码设置。
2、spingmvc给我们提供了一个编码过滤器,只需要在配置文件web.xml中加入即可。如下:
按 Ctrl+C 复制代码 <filter> <filter-name>characterEncoding</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>characterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 按 Ctrl+C 复制代码3、以上两步有时只能解决post方式传递参数乱码问题,get方式还是出现乱码,则就需要该tomcat的配置文件了,打开tomcat的server.xml文件,找到以下行

1 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
在上面行中插入URIEncoding="UTF-8",改成如下形式:

1 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
这样就解决了springmvc中文参数传递乱码问题了。
若web.xml出现报错 The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".
原因:文档内容标签顺序不符合web-app_2_3.dtd规范
解决办法:
:严格按照提示上的顺序排列
2:删除<!DOCTYPE 。。。。这段内容,即<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">删除这行
参考自:https://www.cnblogs.com/Hxinguan/p/5971779.html,感谢作者的分享
