방문자 카운터 - 요구 사항, 변수 사용, 재 방문 처리, 카운팅 처리

CODEDRAGON Development/JSP

반응형

 

 

방문자 카운터

홈페이지에서 현재까지의 방문자수(접속자수)를 보여주기 기능입니다.

카운터 기능을 JSP로 구현하기 위해 JSP Beans session객체를 사용하겠습니다.

 

요구 사항

·       사이트가 오픈하면서 처음 방문자 수는 0으로 초기화합니다.

·       방문자 수를 저장할 변수는 사이트를 방문하는 모든 클라이언트(브라우저)에서 공유해야 합니다.

·       A가 브라우저를 통해 사이트의 기본 페이지를 방문하면 현재 방문자 수에서 1을 더하고 그 결과를 보여줍니다.

·       B가 브라우저를 통해 사이트의 기본 페이지를 방문하면 현재 방문자 수에서 1을 더하고 그 결과를 보여줍니다.

·       A 또는 B가 브라우저의 "새로고침"버튼을 누른 경우에 현재 방문자 수에 1을더하지 않습니다.

·       A 또는 B가 현재 사이트의 다른 페이지로 이동했다가 다시 사이트의 기본 페이지를 방문한 경우에도 현재 방문자 수에 1을 더하지 않습니다.

·       지정한 시간이 지난 다음에는 새로고침이나 다른 페이지 이동 후 다시 기본 페이지를 방문한 경우에는 1을 더해 줍니다.

 

 

변수 사용

변수 사용 범위가 사이트를 방문한 모든 클라이언트에서 참조할 수 있고 변수의 수명 기간(scope)이 사이트가 다운되지 않는 한(사이트가 사용하는 서버가 가동중인 동안) 그 값이 유지되어야 합니다. 이를 위해 JSP의 액션태그의 <jsp:useBean>을 사용하여 scope속성이 application으로 지정된 JSP Beans를 이용합니다.

 

 

방문 처리

지정한 시간전에 재 방문한 경우 클라이언트가 사이트를 방문할 때 형성되는 세션동안 그 값을 유지하는 session객체(java.servlet.http.HttpSession클래스)의 변수와 속성을 이용합니다.

하나의 세션 동안 방문자 수를 카운팅하는 페이지를 반복해서 열었을 때 session객체를 이용해서 한번 카운팅된 방문자는 카운팅되지 않도록 할 수있습니다.

 

 

카운팅 처리

session객체가 살아있는 기간을 설정합니다. 예를 들어 한번 사이트를 방문한 다음 30(기본값)이나 1시간이 지난 다음 다시 사이트를 방문한 경우에는 방문자 수를 1 증가시킵니다.