web.xml 한글 변환 관련 Encoding 설정 방법

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package kr.co.ithrd.common;

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


public class CharacterEncodingFilter implements Filter {
    FilterConfig fc;

    public void init(FilterConfig fc){
        this.fc = fc;
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{
        try {
            request.setCharacterEncoding(fc.getInitParameter("characterEncoding"));
        } catch (UnsupportedEncodingException uee) {
            uee.printStackTrace();
        }
        chain.doFilter(request, response);
    }

    public void destroy(){}
}

위의 소스는 필터 기능을 통해, 넘어온 캐릭터셋으로 변경하는 로직입니다.

web.xml 안에

    <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>kr.co.ithrd.common.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>characterEncoding</param-name>
        <param-value>UTF-8</param-value>
        </init-param>
    </filter>

    <filter-mapping>
     <filter-name>CharacterEncodingFilter</filter-name>
     <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>

이 구문을 선언해주시면됩니다.

간단하게 소스를 설명하자면, filter 이름이 CharacterEncodingFilter로 mapping 시키고 url-pattenr 이 * 인 파일은 (즉, 전부) 해당 Filter 를 타도록 하는 방법입니다.

java 파일 디컴파일 하면, 해당 클래스는 결국 Filter 를 implements 받습니다.