반응형
|
|
|
개발환경 : 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 |
