java面试题 springmvc 解决post get请求乱码问题
1 post乱码
解决方法 在web.xml中添加如下
<filter> <filter-name>encodingFilter</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>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Spring里的字符过滤器CharacterEncodingFilter是针对请求的,forceEncoding=true是意思是指无论客户端请求是否包含了编码,都用过滤器里的编码来解析请求 .
2 get请求乱码
方法1 修改tomcat配置文件 server.xml 中的 Connecter 中添加 URIEcoding=“utf-8”
方法2 对参数进行重新编码 例 :
String uname =new String (resuest.getParameter("uname").getBytes("ISO8859-1"),utf-8);