
[문과 코린이의 IT 기록장] ASP Counter - Counter 만들기
[문과 코린이의 IT 기록장] ASP 기본 문법 (Now, Hour(), IF~THEN(조건문), ASP 선언 및 생성 / 논리 구문, AS
[문과 코린이의 IT 기록장] ASP 기본 문법 (Now, Hour(), IF~THEN(조건문), ASP 선언 및 생성 / 논리 구문, ASP 데이터 타입, ASP 타입 변환 함수) 2022.06.08 - [문과 코린이의, [ASP]..
vansoft1215.tistory.com
[문과 코린이의 IT 기록장] ASP 개체 모델 (사용자 정보 얻기 ( HTML FORM 태그 , ASP 페이지), ASP 개체
[문과 코린이의 IT 기록장] ASP 개체 모델 (사용자 정보 얻기 ( HTML FORM 태그 , ASP 페이지), ASP 개체 모델, Request 개체 종류, Server 개체 종류, Application 개체 종류..
vansoft1215.tistory.com
[문과 코린이의 IT 기록장] ASP 파일 - FileSystemObject(FSO) (FileSystemObject(FSO) 다루기, 드라이브 다루기,
[문과 코린이의 IT 기록장] ASP 파일 - FileSystemObject(FSO) (FileSystemObject(FSO) 다루기, 드라이브 다루기, 파일 다루기, 파일 생성, 파일 쓰기, 파일 읽기) 2022.06.08 - [문과 코린이..
vansoft1215.tistory.com
[ Counter 만들기 ]
1) visit.txt
웹서버의 홈 디렉토리에 visit.txt라는 파일을 하나 만들고, 첫번째 줄에 '0' 쓰고 저장
2) global.asa
global.asa파일 만들기
- 카운터를 만들기 위해 필수적임.
- 이름도 변경되면 안되며, 반드시 웹 디렉토리의 루트(wwwroot)에 존재해야 함
<SCRIPT LANGUAGE=VBscript RUNAT=Server> Sub Application_OnStart strFname=Server.MapPath(".")+"\visit.txt" 'visit.txt가 있는 곳의 경로지정. 현재 global.asa 가 있는 디렉토리에 존재하는 visit.txt로 설정한다. Set objFile = Server.CreateObject("Scripting.FileSystemObject") Set out =objFile.OpenTextFile(strFname,1) Application("visit") = out.ReadLine '텍스트 파일안에 있는 숫자를 읽어온다. Set out = nothing Set objFile = nothing End Sub Sub Application_OnEnd strFname=Server.MapPath(".")+"\visit.txt" Set objFile = Server.CreateObject("Scripting.FileSystemObject") Set out =objFile.CreateTextFile(strFname,true) out.WriteLine(Application("visit")) '텍스트 파일에 현재까지의 방문자의 총 수를 저장한다. Set out = nothing Set objFile = nothing End Sub Sub Session_OnStart strFname=Server.MapPath(".")+"\visit.txt" Application.Lock Application("visit") = Application("visit") + 1 Application.UnLock If Application("visit") MOD 5 =0 then Set objFile = Server.CreateObject("Scripting.FileSystemObject") Set out = objFile.CreateTextFile(strFname,true) Application.Lock out.WriteLine(Application("visit")) Application.UnLock Set out = nothing Set objFile = nothing End If End Sub </SCRIPT>
<SCRIPT LANGUAGE=VBscript RUNAT=Server>
Sub Application_OnStart ' 홈/가상 디렉토리에 최초로 asp페이지를 요청했을 때, 한 번만 발생. (첫 사용자가 들어왔을 때 실행
strFname=Server.MapPath(".")+"\visit.txt"
' visit.txt가 있는 곳의 경로지정.
Set objFile = Server.CreateObject("Scripting.FileSystemObject")
' CreateObject메서드를 통해 FileSystemObject 객체의 인스턴스를 만들어 사용한다.
Set out =objFile.OpenTextFile(strFname,1)
' CreateTextFile(파일 생성 메서드)를 사용
: strFname의 경로에, 같은 파일의 이름이 이미 존재할 경우, 덮어쓰기가 가능하도록
Application("visit") = out.ReadLine
' 텍스트 파일안에 있는 숫자(out의 값)를 읽어와서, Application("visit")에 저장한다.
Set out = nothing
Set objFile = nothing
End Sub
Sub Application_OnEnd ' 디렉토리에서 모든 사용자의 세션이 끝나게 되면, 실행되어진다.
strFname=Server.MapPath(".")+"\visit.txt"
Set objFile = Server.CreateObject("Scripting.FileSystemObject")
' CreateObject메서드를 통해 FileSystemObject 객체의 인스턴스를 만들어 사용한다.
Set out =objFile.CreateTextFile(strFname,true)
' CreateTextFile(파일 생성 메서드)를 사용
: strFname의 경로에, 같은 파일의 이름이 이미 존재할 경우, 덮어쓰기가 가능하도록
out.WriteLine(Application("visit"))
' 텍스트 파일에 현재까지의 방문자의 총 수를 저장한다.
Set out = nothing ' out 해제
Set objFile = nothing ' nothing 해제
End Sub
Sub Session_OnStart ' 매 사용자가 들어올 때마다, 각각 이를 거치게 됨.
strFname=Server.MapPath(".")+"\visit.txt"
Application.Lock
Application("visit") = Application("visit") + 1
Application.UnLock
If Application("visit") MOD 5 =0 then
' 방문자가 5명씩 방문할 때마다, 그때그때 화일을 열어 현재까지의 카운트 수를 기입하도록 함. (어플리케이션이 해당 내용을 저장해서, 시스템에 문제가 생기더라도 크게 문제 없도록)
' 마지막에만 해당 내용을 저장하는게 아님
Set objFile = Server.CreateObject("Scripting.FileSystemObject")
Set out = objFile.CreateTextFile(strFname,true)
Application.Lock
out.WriteLine(Application("visit"))
Application.UnLock
Set out = nothing
Set objFile = nothing
End If
End Sub
</SCRIPT>
3) count.asp
카운트를 저장할, 브라우저에서 확인할 asp파일 만들기
<%@ Language=VBScript %> <HTML> <HEAD> <META charset = "UTF-8"> </HEAD> <BODY> 현재까지의 카운트 : <%=Application("visit")%> </BODY> </HTML>
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META charset = "UTF-8">
</HEAD>
<BODY>
현재까지의 카운트 : <%=Application("visit")%>
' visit.txt파일에즉시 변화를 저장하고, 그 값을 count.asp에서 가져와서 출력
</BODY>
</HTML>

* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |