Struts 파일 업로드 유틸 사용시 한글 파일명 깨짐 문제

|

스트럿츠에서 자공하는 파일업로드 유틸을 사용할 경우
데이터 베이스에 한글 파일명은 깨져서 기입되는데,
결국은 방법을 찾아내었다.
다음과 같이 필터를 사용하면 된다.


package study.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;
    }
   
    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);
    }   
   
    public void init(FilterConfig filterConfig) throws ServletException {
         this.filterConfig = filterConfig;
         this.encoding = filterConfig.getInitParameter("encoding");
    }
   
    public FilterConfig getFilterConfig() {
        return filterConfig;
    }
   
    public void setFilterConfig(FilterConfig cfg) {
        filterConfig = cfg;
    }  
}


위와같이 클래스를 생성하고
web.xml에서 필터를 등록한다.


    <web-app>


        <filter>
            <filter-name>Encoding Filter</filter-name>           
            <filter-class>study.filter.EncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>EUC-KR</param-value>           
            </init-param>
        </filter>

        <filter-mapping>
            <filter-name>Encoding Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>


    </web-app>

And