스트럿츠에서 자공하는 파일업로드 유틸을 사용할 경우
데이터 베이스에 한글 파일명은 깨져서 기입되는데,
결국은 방법을 찾아내었다.
다음과 같이 필터를 사용하면 된다.
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>
'작업노트 > Framework' 카테고리의 다른 글
[Spring] AOP(Aspect Oriented Programming), 관점지향 프로그래밍의 이해 (0) | 2008.01.14 |
---|---|
[Struts] Action 에서 포워딩 시 parameter 넘기는 법 (0) | 2008.01.14 |
[Spring] IoC(Inversion of Controll), 역행 제어의 개념 (0) | 2008.01.12 |
[VSSH] ZDNet 연재 자료 (Velocity + Struts + Spring + Hibernate) (0) | 2007.05.02 |
[Struts] ActionForm Beans (0) | 2007.05.01 |