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);

猜你喜欢

转载自www.cnblogs.com/weiikun/p/10987651.html