filter解决字符编码失效

//web.xml中配置filter
//filter实现
//action中查看filter效果
我在filter中配置的编码类型是ISO-8859-1,但是查看时总是UTF-8


CharacterEncodingFilter
cn.jbit.housestruts.filter.CharacterEncodingFilter

encoding
GBK



CharacterEncodingFilter
/*

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class CharacterEncodingFilter implements Filter{

  private FilterConfig filterConfig;   
private String encoding = null;   

public void init(FilterConfig filterConfig) throws ServletException {   
    this.filterConfig = filterConfig;   
}     
/**
 * 过滤器
 */

public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,   
        ServletException {   
    try {   
        if (encoding == null) {   
            encoding = filterConfig.getInitParameter("encoding");   
        }   
    } catch (Exception iox) {   
        iox.printStackTrace();   
    }   
    request.setCharacterEncoding(encoding);   
    response.setCharacterEncoding(encoding);   
    HttpServletRequest req = (HttpServletRequest) request;   

    // get请求时,重新编码   
    if ("GET".equals(req.getMethod())) {   
        Enumeration names = request.getParameterNames();   
        while (names.hasMoreElements()) {   
            String name = (String) names.nextElement();   
            String[] values = request.getParameterValues(name);   
            for (int i = 0; i < values.length; i++) {   
                values[i] = new String(values[i].getBytes("ISO-8859-1"), encoding);   
            }   
        }   
    }   
    filterChain.doFilter(request, response);   
}   

public void destroy() {   
    filterConfig = null;   
    encoding = null;   
}   

}

这次你再试试,应该不会出问题了...