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