웹 & 프레임워크

[서블릿] 리스너 (Listener) 를 이용한 접속자수 세기 예제

늘근이 2014. 5. 12. 08:46

Listener는 이벤트 핸들러라고 보면된다.

 

서버가 부팅되거나 꺼질때, session을 감지할때, session이 바뀔때 감지할수 있는 리스너등 많다.

네이버에서 이메일을 쓰다가 아이디를 바꾼다면, '다른곳에서 접속하였다'이런 메시지가 뜨는데 이런것들도 리스너

지금 현재 접속중인 사람을 카운트하는것도 listener로 구현하면 될것이다.

대부분은 서버쪽에서 일어나는 이벤트를 감지해서 처리하고싶은게 있으면 Listener를 만들면 된다.

 

filter와 마찬가지로 WEB.xml에 집어넣어주면 된다. 


현재 접속을 세는 예제)



맨위에꺼 체크한다

그리고 아래와 같은 리스터, 이런놈을 하나 만든다



또한 로그인할때마다 다음 함수를 추가시켜주면 끗이다




같은식으로 로그아웃할때마다 하나씩 값을 빼주게 하면 대충정리됨.
그렇지만 대부분 사람들은 로그아웃버튼을 눌러서 나가는게 아니라, 걍 브라우저를 꺼버리기때문에 조금더 우아한 거시기를 해야한다