본문 바로가기
Front-end (국비)/이론

리스너 클래스

by Hwanii_ 2023. 7. 6.
728x90

1.

리스너 클래스 란 ?

 

특정 시간 (타이밍) 에 기능을 추가 한다.

 

예) 서블릿이 동작 되었을 때.

예) 서버가 시작 되었을 때.

예) 서블릿이 변경 되었을 때.

 

>> ~ 할 때.

 

>> 어떤 상태 변경을 감지 하는 ~

 

2.

 

리스너 클래스 생성 방법.

 

만드려고 하는 프로젝트에,

 

 

이것을 추가 해줘야지 사용이 가능 하다.

 

(서블릿, 필터 클래스, 리스너 클래스, ..)

 

 

 

package는 controller 패키지로 지정 해주면 된다.

 

필터 클래스와, 리스너 클래스는 controller 영역 이다.

 

Class name 은 Listener 라고 지어줬다.

 

Next 눌러주기.

 

 

 

Servlet context events 영역에서,

 

Lifecycle 은 서버 시작을 감지 하는것으로 생각 하면 된다.

 

체크 하고, Finish를 누른다.

 

 

Finish를 누르면, controller 패키지 내부에,

Listener.java 클래스가 생성 된다.

 

 

3.

서블릿 클래스와 필터 클래스 / 리스너 클래스.

 

서블릿, 필터, 리스너 클래스는 모두, Not POJO 이다.

 

또한, Controller 파트의 클래스 들 이다.

 

서블릿 클래스로부터 상속을 받은 자식 클래스가 바로,

필터 클래스와 리스너 클래스 이다.

 

4.

필터 클래스와 리스너 클래스의 차이.

 

필터 클래스 >>

1) 특수한 형태의 "서블릿"

2) 특정 요청 (필터 매핑) 에 대해, 기능을 추가 하고, 원래의 요청을 정상적으로 수행.

3)

예시) 인코딩

 

리스너 클래스 >>

1) 특수한 형태의 "서블릿"

2) 특정 시간 (타이밍) 에 대해, 기능을 추가한다.

3)

예시) 서버가 시작 되었을 때 ! 샘플 데이터를 크롤링 해서, 크롤링 완료된 데이터를 DB에 insert() 하기.

 

5.

예시)

 

 

크롤링 클래스에서 크롤링한 데이터를 배열리스트에 담아서,

해당 데이터를 40번째 라인에서 받아 bdatas에 저장 한다.

 

bdatas 배열리스트를 전부 돌면서, 크롤링한 샘플 데이터 객체를,

하나씩 꺼내서 객체 하나하나를 bDAO.insert() 메서드의 인자로 줘야 한다.

 

해당 객체를 사용 해야 하니까, 50번째 라인에서 포함관계로 객체를 선언 했다.

반응형