package servlet.filter;

import java.io.*;
import javax.servlet.*;

public class EncodingFilter implements Filter {
	protected String encoding = null;
	protected FilterConfig config;
	
	public void init(FilterConfig filterConfig) throws ServletException {
		this.config = filterConfig;
		// 从web.xml配置文件中获取编码配置
		this.encoding = filterConfig.getInitParameter("Encoding");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		if (request.getCharacterEncoding() == null) {
			String encode = getEncoding();
			if (encode != null) {
				// 设置request的编码方式
				request.setCharacterEncoding(encode);
			}
		}
		chain.doFilter(request, response);
	}

	public String getEncoding() {
		return encoding;
	}

	public void destroy() {
	}
}
