package struts.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;


public class EncodingFilter implements Filter {
	private String encoding = null;

	protected FilterConfig filterConfig = null;

	
	public void destroy() {

		this.encoding = null;
		this.filterConfig = null;

	}

	/**
	 * ServletRequest°´Ã¼¿¡ web.xml¿¡¼­ Àü´ÞµÈ ÀÎÄÚµùÀ» ¼³Á¤ÇÏ´Â ¸Þ½áµå.
	 */
	public void doFilter(
			ServletRequest request,
			ServletResponse response,
			FilterChain chain)
	throws IOException, ServletException {

		if (request.getCharacterEncoding() == null) {
			if (encoding != null) {
				request.setCharacterEncoding(encoding);
			}
		}

		chain.doFilter(request, response);
		System.out.println("ÇÊÅÍ ±â´É »ç¿ë");
	}

	/**
	 * web.xml¿¡¼­ Àü´ÞµÈ ÀÎÄÚµù °ªÀ» ÃÊ±âÈ­ÇÏ´Â ¸Þ½áµå.
	
	 *Filter °´Ã¼»ý¼ºÈÄ ¹Ù·Î È£ÃâµÇ´Â ¸Þ¼Òµå
	 *-web.xmlÀÇ ÆÄ¶ó¸ÞÅ¸ µ¥ÀÌÅÍ¸¦ ÀÐ¾î¿Â´Ù. 	
	
	
	 */
	public void init(FilterConfig filterConfig) throws ServletException {
		this.filterConfig = filterConfig;
		/*	<filter-name>
		encodingFilter
	</filter-name>
		<filter-class>
		struts.util.EncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoSding</param-name>
			<param-value>euc-kr</param-value>
		
		</init-param>
	</filter>*/

		this.encoding = filterConfig.getInitParameter("encoding");
	}

	public FilterConfig getFilterConfig() {
		return filterConfig;
	}

	public void setFilterConfig(FilterConfig cfg) {
		filterConfig = cfg;
		
	
	}
}
