创建一个过滤器,设置请求访问编码

package com.hongyi.filter;

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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
/**
* 解决全站乱码问题
* @author 浪丶荡
*
*/
public class CharacterEnCodingFilter implements Filter {


public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
//对request/response进行预处理
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset-utf-8");

MyCharacterEnCodingRequest requestWrapper = new MyCharacterEnCodingRequest(request);

chain.doFilter(requestWrapper, response);
}

public void init(FilterConfig config) throws ServletException {

}
public void destroy() {

}


}
class MyCharacterEnCodingRequest extends HttpServletRequestWrapper{

private HttpServletRequest request;
public MyCharacterEnCodingRequest(HttpServletRequest request) {
super(request);
this.request = request;
}
@Override
public String getParameter(String name) {
try {
String value = this.request.getParameter(name);
if(value==null){
return null;
}
if(this.request.getMethod().equalsIgnoreCase("post")){
return value;
}else{
value = new String(value.getBytes("utf-8"),this.request.getCharacterEncoding());
return value;
}

} catch (Exception e) {
throw new RuntimeException(e);
}
}


}

配置太简单,不贴代码了