在获得请求中的参数时,有三种方法:getParameter(),getParameterMap(),getParameterValues()。这三种方法在底层实现中是互相调用的。所以若要彻底解决提交乱码的问题,则需要覆盖这三个方法。覆盖getParameterMap(),然后设定开关让其只执行一次,然后让getParameterValues()调用getParameterMap(),在getParameter()中调用getParameterValues(),使这三个方法都可以调用到getParameterMap()下的关键语句,即可彻底解决乱码问题
以过滤器处理乱码为例:
package cn.filter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Map;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterChain