过滤器类如下:
package zhjx.filter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class SetCharacterFilter implements Filter {
private FilterConfig filterConfig = null;
private boolean flag = true;
private String charcode = "UTF-8";
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
String temp = this.filterConfig.getInitParameter("flag");
String str = this.filterConfig.getInitParameter("charcode");
if (temp != null) {
if (temp.equals("true")) {
this.flag = true;
} else if (temp.equals("false")) {
this.flag = false;
} else {
this.flag = true;
}
}
if (str != null) {
this.charcode = str;
}
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {
if (flag) {
String c = request.getCharacterEncoding();
if (c == null) {
request.setCharacterEncoding(charcode);
} else if (!c.equals(this.charcode)) {
request.setCharacterEncoding(charcode);
}
}
filterChain.doFilter(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
public void destroy() {
this.filterConfig = null;
}
}
web.xml如下:
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
这样的话,以后就可以直接用了,不用处理乱码问题。。。。