반응형

  사용자 정의 필터는 Filter 인터페이스를 구현해야 합니다. 그리고 init(), doFilter(), destroy()의 추상 메서드를 구현해 주어야 합니다.

  사용자 정의 필터를 생성하면 필터를 각각의 요청에 맞게 적용하기 위해 필터 매핑을 해야 하는데, 필터를 매핑하는 방법은 2가지 입니다.

- 애너테이션을 이용하는 방법

- web.xml에 설정하는 방법

일반적으로 애너테이션을 이용하는 방법이 편리하므로 많이 사용합니다.

 

  Filter를 이용한 한글 인코딩을 해보겠습니다. (WebContent/login.html)

login.html

 

아래의 서블릿에서는 setCharacterEncoding() 메서드를 주석 처리하여 한글 처리를 하지 않도록 합니다.

 

로그인을 하니 한글이 깨져서 표시됩니다.

 

  이번에는 필터를 이용해 한글 인코딩 기능을 구현하겠습니다.

  사용자 정의 필터 클래스는 반드시 Filter 인터페이스를 구현해야 합니다. 브라우저 요청 시 doFilter() 메서드의 매개변수로 request와 response가 전달되며, doFilter() 메서드는 FilterChain 타입인 chain을 세번째 매개변수로 가집니다. 전달된 request를 이용해 한글 인코딩 작업을 합니다. chain.doFilter() 메서드를 기준으로 위쪽에 위치한 코드는 요청 필터 기능을 수행합니다.

 

 

톰캣을 재실행하고 로그인창에서 한글을 입력합니다.

요청 필터 기능을 수행할 때마다 doFilter()가 수행되므로 이클립스 콘솔에도 다음과 같은 메시지가 출력 됩니다.

 

깃허브 주소 : https://github.com/soulwine-it/Servlet-Scope-URLpattern-Filter-Listener

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

HttpSessionBindingListener 로그인 접속자 수 표시  (0) 2019.12.10
Servlet Listener API  (0) 2019.12.09
Filter API  (0) 2019.12.09
서블릿 URL pattern  (0) 2019.12.09
서블릭 속성과 스코프(Scope)  (0) 2019.12.09
블로그 이미지

꽃꽂이하는개발자

,