|
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import java.io.IOException;
@WebFilter("*")
public class CharacterEncodingFilter implements Filter {
private String encoding = "utf-8";
@Override
public void init(FilterConfig filterConfig) throws ServletException {
String encodingStr = filterConfig.getInitParameter("encoding");
if (!encodingStr.isEmpty()) {
encoding = encodingStr;
}
}
@Override
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
servletRequest.setCharacterEncoding(encoding);
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
|
在初始化时先获取字符编码,然后在doFilter()方法里设置字符编码。
filterChain.doFilter(servletRequest, servletResponse);
这一行是在设置完编码后放行的语句。
程序猿的技术大观园:www.javathinker.net
|
|