봉봉의 개인 블로그
Listener 와 Filter 본문
Listener란
Listener는 특정 상황을 모니터링 하다가 해당 상황이 발생하면 동작하는 일종의 servlet 으로 웹애플리케이션 시작 및 운영 종료 과정에서 발생하는 일련의 과정에서 특정 상황에 필요한 작업을 처리하기 위해 사용한다.
(Listener class) (모니터링 내용)
javax.servlet.ServletContextAttributeListener : 서블릿 컨텍스트에 속성의 추가/삭제/수정
javax.servlet.http.HttpSessionListener : 세션상태변화(사용자 접속현황)
javax.servlet.ServletRequestListener : 사용자 요청 발생시
javax.servlet.ServletRequestAttributeListener : Request 속성의 추가/삭제/수정
javax.servlet.http.HttpSessionBindingListener : 속성을 넣고자 하는 대상이 세션에 포함되어 있는지 확인
javax.servlet.http.HttpSessionAttributeListener : 세션 속성의 추가/삭제/수정
javax.servlet.ServletContextListener : 애플리케이션 컨텍스트 생성/소멸
javax.servlet.http.HttpSessionActivationListener : 세션의 활성화 상태
Listener 구조
*ServletContextListener 의 경우 인터페이스 구현을 통해 Listener class 작성
*톰캣 시작과 함께 web.xml 설정을 참고해 Listener 를 시작함
*Listener 의 contextInitialized()메서드에서는 작업을 수행하고 필요하다면 속성 객체를 만들어 ServletContext 즉 application 범위에 속성을 저장해 모든 애플리케이션에서 참고할 수 있도록 한다.
*Listener 동작이 끝나면 Load-on-startup 으로 설정된 일반 servlet이 실행된다.
servlet filter란
*Listener 와 함께 대표적인 특별한 형태의 serlvet
*사용자 요청에 따라 특정 serlvet 이나 JSP가 실행되기전 사전 작업 수행
*여러 개의 servlet을 다양한 조건으로 설정해 하나의 요청에 여러 filter 가 사전에 수행 될 수 있도록 할 수 있음
*servlet filter 를 사용하는 목적
-인정
-오깅/감사
-이미지 변환
-데이터 압축
-국제화
-xml 변환
servlet filter 구조
*javax.servlet.Filter 인터페이스 구현
*Filter Mapping 설정에 따라 Filter Class의 doFilter()메서드 호출
'관련 지식' 카테고리의 다른 글
JQuery 메서드정리 (0) | 2017.06.30 |
---|---|
mybatis란 (0) | 2017.06.30 |
MVC 계층 (0) | 2017.06.27 |
[Spring] MVC 패턴에서의 5가지 계층에 대한 정보 (0) | 2017.06.26 |
Maven 정리 (0) | 2017.06.26 |