我在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;
}
}
这次你再试试,应该不会出问题了...