spring mvc 中文乱码 post与get的方法解决

今天测试spring mvc  ,中文乱码,在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>


 

复制代码

过滤所有请求,但还是有问题,最后发现是表单的问题,在表单中method默认是get,而以上过滤器只对post有效果,如果是 get,需要修改 Tomcat根式目录的 conf/server.xml文件中,找<Connector port="8080" />,在里面加<Connector port="8080" uRIEncoding="utf-8" />

关于Get的中文乱码,除了根据上面所述更改tomcat server.xml的方式生效外,还可以对参数进行转码,如下:

name = new String(name.getBytes("iso-8859-1"),"utf-8");

这样也可以得到同样正确的结果


你可能感兴趣的:(spring mvc 中文乱码 post与get的方法解决)