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 증가시킵니다.
'Development > JSP' 카테고리의 다른 글
포워딩(Forwarding) - RequestDispatcher 클래스 (0) | 2019.02.22 |
---|---|
블로그 설계, 프로그램 구조 도식도 (0) | 2019.02.21 |
서블릿 동작 원리 - 단일 클라이언트, 멀티 클라이언트 (0) | 2019.02.13 |
JSP 동작 원리, JSP 동작 도식도 (0) | 2019.02.13 |
POST 전송 방식 (0) | 2019.02.12 |