반응형
|
개발환경 : JDK 1.5, eclipse-Galileo , window XP |
(1) xml 설정 |
Spring 에서 제공하는 필터 클래스를 쓸수도 있지만 자기의 입맛에 맞게 필터클래스를만들어
사용할수도 있다.설정은 web.xml에 다음과 같이 하며 CommEncodingFilter 사용자 정의
클래스가 된다.
CommEncodingFilter 는 javax.servlet.Filter 추상클래스를 상속받게되는데
EncodingFilter common.CommEncodingFilter encoding UTF-8 Encoding Filter /*
(2) 해당 Class 구현 |
CommEncodingFilter 는 javax.servlet.Filter 추상클래스를 상속받게되는데
그러면 다음의 3가지 함수를 구현해야한다. 서블릿초기화, 실행, 해제를 담당하는 함수이다.
Init 함수에 보면 filterConfig.getInitParameter("encoding"); 가 있다 이것은
위의 xml 에서 설정한 param-name 이름과 동일하며 값은 param-value 된다.
그러니까 UTF-8 의 값으로 모든 request 값이 셋팅되게 되는것이다.
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 CommEncodingFilter implements Filter { private String encoding; protected FilterConfig filterConfig; /* (non-Javadoc) * @see javax.servlet.Filter#destroy() */ 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; /** xml 에서 설정한 encoding 값이 된다 */ this.encoding = filterConfig.getInitParameter("encoding"); } public FilterConfig getFilterConfig(){ return filterConfig; } public void setFilterConfig(FilterConfig cfg){ filterConfig = cfg; } }
반응형
'자바(JAVA)' 카테고리의 다른 글
JSTL 의 변수 설정기본 정보와 예제들 (0) | 2010.12.13 |
---|---|
weblogic.xml 설정 스크립트에 대한 내용 (0) | 2010.08.10 |
스트럿츠 (Struct) 기반 xml 을 WAS 재구동없이 자동으로 로드하기 (0) | 2010.08.07 |
자바 프로젝트 jar -> exe 로 바꿔주는 JSmooth (12) | 2010.08.02 |
JSP 페이지에서 JSTL 에러 : According to TLD or attribute directive in tag file, (0) | 2010.08.02 |
JSP 페이지에서 contentType with different values 에러가 날 때 (0) | 2010.08.02 |
input 박스에 자동 submit 막기를 위한 여러가지 방법 (6) | 2010.08.02 |
SQL Statement Log 를 보기위한 log4jdbc 사용법 (1) | 2010.08.02 |