post request Chinese garbled

 

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>
            cn.mgr.util.CharacterEncodingFilter
        </filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/rest/*</url-pattern>
    </filter-mapping>

 

package cn.mgr.util;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * Filter request code (only valid for post request)
 * get needs to be in Tomcat's server.xml:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"

URIEncoding="GBK" />

)Add URIEncoding="GBK" to solve the problem of garbled get request
 * @author lenovo
 *
 */
public class CharacterEncodingFilter implements Filter {

 private FilterConfig config;
 
 @Override
 public void destroy() {

 }

 @Override
 public void doFilter(ServletRequest req, ServletResponse res,
   FilterChain chain) throws IOException, ServletException {
  String code = config.getInitParameter("encoding");
  req.setCharacterEncoding(code);
  chain.doFilter(req, res);
 }

 @Override
 public void init(FilterConfig conf) throws ServletException {
  this.config = conf;
 }

}

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326692951&siteId=291194637